C# 如何访问EventArgs类中的MouseEventArgs类?

C# 如何访问EventArgs类中的MouseEventArgs类?,c#,visual-studio-2012,C#,Visual Studio 2012,我试图对单选按钮控件的点击做出反应。在运行时,EventArgs变量显示一个MouseEventArgs类型的元素,该元素具有一个EventArgs类型的基类,如图所示 红色箭头显示了我将EventArgs强制转换为MouseEventArgs以允许编译的位置,因为没有强制转换,唯一可用的方法是equals、getHashCode、getType和ToString。请注意,我是手动创建此控件的,而不是在设计器中 但是,如果我让它继续,我会得到以下错误 我理解这个错误,但我无法找出如何编译它,

我试图对单选按钮控件的点击做出反应。在运行时,EventArgs变量显示一个MouseEventArgs类型的元素,该元素具有一个EventArgs类型的基类,如图所示

红色箭头显示了我将EventArgs强制转换为MouseEventArgs以允许编译的位置,因为没有强制转换,唯一可用的方法是equals、getHashCode、getType和ToString。请注意,我是手动创建此控件的,而不是在设计器中

但是,如果我让它继续,我会得到以下错误

我理解这个错误,但我无法找出如何编译它,因为“EventArgs”没有可访问的Clicks方法


感谢所有人提供的帮助。

您只需指定事件处理程序的第二个参数,类型为
MouseEventArgs
。像这样:

private static void AutoMan_RadBut_Click(object sender, MouseEventArgs e)

这样,您就不必在方法中抛出论点。

感谢大家的回答

最终的解决方案使用了亚当的部分答案。我需要将EventArgs更改为MouseEventArgs,但这本身就导致了一个错误。整个解决方案包括改变

new EventHandler(AutoMan_RadBut_Click);

谢谢亚当让我走上了正确的道路


另外,我仍然不知道为什么“e”在运行时有一个MouseEventArgs子类,但我不能在编译时访问它。

这并不能解释为什么强制转换失败,如果委托确实定义了
MouseEventArgs
。你完全正确。但是关于这个问题还有很多问题(见上面的评论)没有回答,这个答案可能会导致弄清楚幕后到底发生了什么。诊断问题的技术更适合评论,而不是答案。但是,我的回答仍然描述了一些无论如何都应该做的事情,并且回答了问题的前半部分。您是在处理单击还是鼠标单击?e.GetType().FullName和typeof(MouseEventArgs)。FullName在调试器中是否相同?您是否引用了正确的MouseEventArgs类?vs。
new MouseEventHandler(AutoMan_RadBut_Click)