删除动态添加的事件处理程序

时间:2016-02-24 13:05:48

标签: c# events event-handling

我有一个代码:

button1.Click += (s, e) =>
{

};

现在如何动态删除此处理程序?类似的东西:

button1.Click = null;

1 个答案:

答案 0 :(得分:4)

事件的重点是他们是订阅/取消订阅,并不打算取消订阅其他事件,而不是您自己的事件。因此,您需要跟踪您的活动:

var click = (s, e) =>
{

};

button1.Click += click;

然后您可以通过以下方式取消订阅:

button1.Click -= click;

修改

似乎您可以使用建议的方法here