我有以下鼠标点击事件:
myproject.ProcessIcon.ni_MouseClick(sender, mousebutton.left);
这通常是通过左键单击系统托盘中的图标来触发的,
我想从另一个事件中调用同一个事件,我尝试过类似的事情:
Workbooks.OpenText "C:\yourPath\yourTabSeparatedFile.txt", _
xlMSDOS, , xlDelimited, xlDoubleQuote, False, True, False, False, False
但显然我不确定如何正确发送左按钮对象(如果可能)。
答案 0 :(得分:2)
任何可以由用户交互(点击)触发的操作,显然都可以被其他代码触发。
在单独的方法中放置应该多次执行的任何功能,并从代码中的不同位置调用该方法:
public static void DoStuff()
{
}
private void ni_MouseClick(object sender, MouseEventArgs e)
{
// Handle mouse button clicks.
if (e.Button == MouseButtons.Left)
{
DoStuff();
}
}
myproject.ProcessIcon.DoStuff();
答案 1 :(得分:0)
您必须在第二种方法中调用该方法。类似的东西:
public void SecondMethod(object sender, Args e){
ni_MouseClick(sender, e);
}
答案 2 :(得分:0)
只需如下更改代码:-
ni_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 0, 0, 0, 0);
但是您需要像Ash的答案那样思考和实施,他有更好的解决方案。