EventArgs.Empty vs MouseEventArgs.Empty
本文关键字:Empty MouseEventArgs vs EventArgs | 更新日期: 2023-09-27 18:14:57
有两个方法
control_SelectionChanged(this, EventArgs.Empty);
control_MouseClick(this, MouseEventArgs.Empty);
第一个工作正常,第二个抛出错误:
无法从"System"转换。EventArgs"System.Windows.Forms.MouseEventArgs
转换MouseMouseEventArgs.Empty
参数也不起作用。我如何手动调用第二个方法?
您需要为方法调用提供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
没有MouseEventArgs.Empty
,因为有必须设置的属性。你需要实例化这个类,这样它才能保存有意义的信息(例如哪个按钮被按下了)。
例如,如果处理程序关心按下了哪个按钮,您可以这样做:
control_MouseClick(this, new MouseEventArgs { Button = MouseButtons.Left });