如何声明DevExpress的DXMenuItem的事件barButtonItem1_ItemClick
本文关键字:DXMenuItem 事件 ItemClick barButtonItem1 DevExpress 何声明 声明 | 更新日期: 2023-09-27 18:28:42
我在声明DXMenuItem
时出错,这是我的代码:
private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e)
{
...
}
private void gridview1_MouseUp(object sender, MouseEventArgs e)
{
...
// fault warning at the bottom line
// No overload for 'barButtonItem1_ItemClick' matches delegate 'System.EventHandler'
DXMenuItem menuItemAdd = new DXMenuItem("Add", new EventHandler(barButtonItem1_ItemClick), 3);
...
}
检查构造函数实际采用的委托类型,然后传递它。
或者完全删除new EventHandler
;C#将隐式地为您创建委托。
EventHandler
代表的签名为:
delegate void EventHandler(object sender, EventArgs e);
但是您的barButtonItem1_ItemClick
方法有另一个签名。它使用ItemClickEventArgs
类型作为e
参数,而不是EventArgs
。您必须使用与EventHandler
委托具有相同签名的方法。类似这样的东西:
private void DXMenuItem_Click(object sender, EventArgs e)
{
...
}
此外,您还可以省略EventHandler
构造函数,直接使用您的方法(语法糖):
DXMenuItem menuItemAdd = new DXMenuItem("Add", DXMenuItem_Click, 3);