相关疑难解决方法(0)

如何将事件传递给方法?

我想创建一个方法,将事件作为参数,并向其添加eventHandler以正确处理它.像这样:

我有两个事件:

public event EventHandler Click;
public event EventHandler Click2;
Run Code Online (Sandbox Code Playgroud)

现在我想将一个特定事件传递给我的方法(伪代码):

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);
Run Code Online (Sandbox Code Playgroud)

可能吗?

我注意到这段代码工作正常,并返回到我的项目,并注意到当我传递在我的类中声明的事件时,它可以工作,但是当我从其他类传递事件时,它仍然无效.

我得到的是这个错误:

事件'System.Windows.Forms.ToolStripItem.Click'只能出现在+ =或 - =的左侧

c# events delegates event-handling

24
推荐指数
2
解决办法
3万
查看次数

标签 统计

c# ×1

delegates ×1

event-handling ×1

events ×1