博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] WinForm实现移除控件某个事件的方法
阅读量:6841 次
发布时间:2019-06-26

本文共 1252 字,大约阅读时间需要 4 分钟。

原文 

本文实例讲述了WinForm实现移除控件某个事件的方法,供大家参考借鉴一下。具体功能代码如下:

主要功能部分代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/// <summary>
/// 移除控件某个事件
/// </summary>
/// <param name="control">控件</param>
/// <param name="eventName">需要移除的控件名称eg:EventClick</param>
public 
static 
void 
RemoveControlEvent(
this 
Control control, 
string 
eventName)
{
  FieldInfo _fl = 
typeof
(Control).GetField(eventName, BindingFlags.Static | BindingFlags.NonPublic);
  
if 
(_fl != 
null
)
  {
    
object 
_obj = _fl.GetValue(control);
    PropertyInfo _pi = control.GetType().GetProperty(
"Events"
, BindingFlags.NonPublic | BindingFlags.Instance);
    EventHandlerList _eventlist = (EventHandlerList)_pi.GetValue(control, 
null
);
  
if 
(_obj != 
null 
&& _eventlist != 
null
)
    _eventlist.RemoveHandler(_obj, _eventlist[_obj]);
  }
}

 使用代码:

1
2
3
4
5
6
7
8
private 
void 
WinRemoveControlEventTest_Load(
object 
sender, EventArgs e)
{
  button1.RemoveControlEvent(
"EventClick"
);
}
private 
void 
button1_Click(
object 
sender, EventArgs e)
{
  MessageBox.Show(
"button1_Click"
);
}

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5885010.html
,如需转载请自行联系原作者
你可能感兴趣的文章
如何消除视频监控出现的干扰?
查看>>
东芝发布OCZ TL100系列入门级SATA SSD新品:接棒TR150
查看>>
解决IT流程自动化的Brocade Workflow Composer长什么样?
查看>>
苹果还要与雅虎搜索合作?梅耶尔已经确认
查看>>
爱立信携Trukcell进行5G测试 实现24.7Gbps下载速度
查看>>
运营商拥抱OpenStack背后:距运营级仍有差距
查看>>
云翌通信联合方位、鼎信在杭州、北京的产品交流会圆满结束
查看>>
模块化数据中心的多种形式
查看>>
存储器:芯片国产化之路的第一站
查看>>
智能家居何以成CES必争之地?
查看>>
爱立信前CEO卫翰思加入Verizon 负责网络和技术部门
查看>>
计算机:政府大数据加速落地
查看>>
AT&T:ONAP将在短期内发布代码
查看>>
嘿,微软:Windows Store到底有多少应用了?
查看>>
系统宕机:设备和应用不再是大问题,人为错误是关键
查看>>
来看看Win32资源监视器在Fluent Design设计语言下的样子
查看>>
网络攻击事件频发 黑客成当前最热门的技术工作
查看>>
保护地球的"保护伞" 艾特网能再提环保
查看>>
docker(8):使用alpinelinux 构建 golang http 看看能有多小
查看>>
物联网再升级 物联智慧MWC推新IoT方案
查看>>