从代码发送鼠标左键单击处理程序?

时间:2018-06-19 10:39:13

标签: c# wpf mouseevent

我有以下鼠标点击事件:

myproject.ProcessIcon.ni_MouseClick(sender, mousebutton.left);

这通常是通过左键单击系统托盘中的图标来触发的,

我想从另一个事件中调用同一个事件,我尝试过类似的事情:

Workbooks.OpenText "C:\yourPath\yourTabSeparatedFile.txt", _
    xlMSDOS, , xlDelimited, xlDoubleQuote, False, True, False, False, False

但显然我不确定如何正确发送左按钮对象(如果可能)。

3 个答案:

答案 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的答案那样思考和实施,他有更好的解决方案。