您的位置:首页 > 其它

清除某控件已绑定的指定名称的事件

2010-06-17 17:27 302 查看
using System.Reflection;

//事件对应的键值
FieldInfo fi = typeof(Control).GetField(EventName, BindingFlags.Static | BindingFlags.NonPublic);
if (fi != null)
{
object evtKey = fi.GetValue(ctr);

//事件属性所有值
PropertyInfo pi = typeof(Control).GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);
if (pi != null)
{
System.ComponentModel.EventHandlerList evts = (System.ComponentModel.EventHandlerList)pi.GetValue(ctr, null);

if (evts != null)
{
//事件对应的委托
Delegate dlt = evts[evtKey];
evts.RemoveHandler(evtKey, dlt);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐