我在我的winform上有一个DataGridView
,我显示了5列和几行,我想添加一个功能,如果我右键单击任何行向我显示一个菜单以查看有关该记录的更多详细信息。 但我得到一个错误,当我写这e.Button
System.EventArgs不包含按钮的定义 - C#
System.EventArgs不包含按键的定义,并没有扩展方法按钮接受类型System.EventArgs的第一个参数可以找到(是否缺少任何指令或程序集引用?)
我在我的winform上有一个DataGridView
,我显示了5列和几行,我想添加一个功能,如果我右键单击任何行向我显示一个菜单以查看有关该记录的更多详细信息。 但我得到一个错误,当我写这e.Button
System.EventArgs不包含按钮的定义 - C#
System.EventArgs不包含按键的定义,并没有扩展方法按钮接受类型System.EventArgs的第一个参数可以找到(是否缺少任何指令或程序集引用?)
MouseClick
事件DataGridView
实际上提供了一个MouseEventArgs
参数。您只用EventArgs
宣布您的datagridview1_MouseClick
方法。
,要
protected void datagridview1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == ...
,它应该工作变化(如果你使用CellMouseClick
代替MouseClick
,使用DataGridViewCellMouseEventArgs
代替MouseEventArgs
)。
作为一个方面说明:你没有得到,当你添加“错误地”声明的处理像datagridview1.MouseClick += datagridview1_MouseClick
,因为MouseEventArgs
从EventArgs
派生,所以编译器具有与分配对象没有问题的编译错误。当您尝试通过e
访问MouseEventArgs
实例的属性时出现问题,e
被声明为EventArgs
,因为EventArgs
不知道MouseEventArgs
衍生物的属性。
P.S:请发表您的代码作为文字到您的下一个问题。对于我们来说,阅读或再利用来重现错误比图像更好。在该图像中,我看不到您使用的是MouseClick
还是CellMouseClick
事件
它是'MouseClick',但您的答案为我工作(Y)。感谢您的解释。 –
你委托处理程序方法应该使用DataGridViewCellMouseEventArgs
按钮位于MouseEventArgs中。 请参阅:http://stackoverflow.com/questions/19448346/how-to-get-a-right-click-mouse-event-changing-eventargs-to-mouseeventargs-cause –