gpt4 book ai didi

c# - 如何删除所有 Click 事件处理程序?

转载 作者:太空狗 更新时间:2023-10-29 19:53:58 33 4
gpt4 key购买 nike

<分区>

Possible Duplicate: How would that be possible to remove all event handlers of the Click event of a Button?

我想从按钮中删除所有单击事件处理程序。我在 Stack Overflow 问题 How to remove all event handlers from a control 中找到了这个方法.

private void RemoveClickEvent(Button b)
{
FieldInfo f1 = typeof(Control).GetField("EventClick",
BindingFlags.Static |
BindingFlags.NonPublic);
object obj = f1.GetValue(b);
PropertyInfo pi = b.GetType().GetProperty("Events",
BindingFlags.NonPublic |
BindingFlags.Instance);
EventHandlerList list = (EventHandlerList)pi.GetValue(b, null);
list.RemoveHandler(obj, list[obj]);
}

但是这一行总是返回空值:

  typeof(Control).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);

而且这个方法是2006年写的。

这个方法有最新版本吗?

注意:我正在使用 WPF.NET 4.0.

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com