从代码发送鼠标左键单击处理程序?
Send left mouse to click handler from code?
我有以下鼠标点击事件:
public static void ni_MouseClick(object sender, MouseEventArgs e)
{
// Handle mouse button clicks.
if (e.Button == MouseButtons.Left)
{
//do stuff
}
}
这通常是通过左键单击系统托盘中的图标来触发的,
我也想从另一个事件中调用同一个事件,我试过类似的方法:
myproject.ProcessIcon.ni_MouseClick(sender, mousebutton.left);
但显然我不确定如何正确发送左键对象(如果可能的话)。
您必须在第二个方法中调用该方法。类似于:
public void SecondMethod(object sender, Args e){
ni_MouseClick(sender, e);
}
任何可以由用户交互(点击)触发的操作,显然也可以由其他代码触发。
将任何应该多次执行的功能放在一个单独的方法中,并从代码中的不同位置调用该方法:
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();
只需更改您的代码如下:-
ni_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 0, 0, 0, 0);
但是你需要按照 Ash 的回答思考和实施他有更好的解决方案。
我有以下鼠标点击事件:
public static void ni_MouseClick(object sender, MouseEventArgs e)
{
// Handle mouse button clicks.
if (e.Button == MouseButtons.Left)
{
//do stuff
}
}
这通常是通过左键单击系统托盘中的图标来触发的,
我也想从另一个事件中调用同一个事件,我试过类似的方法:
myproject.ProcessIcon.ni_MouseClick(sender, mousebutton.left);
但显然我不确定如何正确发送左键对象(如果可能的话)。
您必须在第二个方法中调用该方法。类似于:
public void SecondMethod(object sender, Args e){
ni_MouseClick(sender, e);
}
任何可以由用户交互(点击)触发的操作,显然也可以由其他代码触发。
将任何应该多次执行的功能放在一个单独的方法中,并从代码中的不同位置调用该方法:
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();
只需更改您的代码如下:-
ni_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 0, 0, 0, 0);
但是你需要按照 Ash 的回答思考和实施他有更好的解决方案。