有两种方法。
control_SelectionChanged(this, EventArgs.Empty);
control_MouseClick(this, MouseEventArgs.Empty);
第一个工作正常,第二个抛出错误:
无法转换为' System.EventArgs'至 System.Windows.Forms.MouseEventArgs
转换MouseMouseEventArgs.Empty
参数也不起作用。我怎样才能手动调用第二种方法?
答案 0 :(得分:1)
您需要向方法调用提供MouseEventArgs的实例。静态属性MouseEventArgs.Empty返回EventArgs类型的实例(有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.eventargs.empty(v=vs.110).aspx。
您需要使用构造函数实例化新类:
control_MouseClick(this, new MouseEventArgs(...));
构造函数的参数在此处定义:http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.mouseeventargs(v=vs.110).aspx
答案 1 :(得分:0)
没有MouseEventArgs.Empty
因为必须设置属性。您需要实例化该类,以便它可以保存有意义的信息(例如,按下了哪个按钮)。
例如,如果处理程序关心按下了哪个按钮,您可以执行以下操作:
control_MouseClick(this, new MouseEventArgs { Button = MouseButtons.Left });