我想创建一个方法,将事件作为参数,并添加eventHandler来正确处理它。就像这样:如何将事件传递给方法?
我有两个事件:
public event EventHandler Click;
public event EventHandler Click2;
现在我想以一个特定的事件传递给我的方法是这样的(伪):
public AttachToHandleEvent(EventHandler MyEvent)
{
MyEvent += Item_Click;
}
private void Item_Click(object sender, EventArgs e)
{
MessageBox.Show("lalala");
}
ToolStripMenuItem tool = new ToolStripMenuItem();
AttachToHandleEvent(tool.Click);
这可能吗?
我注意到这段代码工作正常,并返回到我的项目中,并注意到当我传递一个在我的类中声明的事件时,它可以工作,但是当我从其他类传递事件时,它仍然不起作用。
我得到的是这样的错误:
The event 'System.Windows.Forms.ToolStripItem.Click' can only appear on the left hand side of += or -=
@OJ是的,你太聪明了! – 2010-04-01 12:43:02
@Petar Minchev我不知道为什么......你是第一个帮助我的人。谢谢。 – 2010-04-01 12:44:04
我已更新问题以反映我处理的问题 – 2010-04-01 12:51:10