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

3

我有一段代码如下:

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

};

现在如何动态删除此处理程序?类似这样:
button1.Click = null;
1个回答

4
事件的关键在于它们是订阅/取消订阅的,而不是你应该取消订阅其他事件。因此,您需要跟踪您自己的事件:
var click = (s, e) =>
{

};

button1.Click += click;

您可以通过以下方式取消订阅它:
button1.Click -= click;

编辑

看起来你可以使用这里建议的方法。


有没有办法在不给它变量的情况下将其删除? - Ashkan Mobayen Khiabani
我看到了那种方法,决定将其分配给一个变量更好 ;) - Ashkan Mobayen Khiabani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接