[转] WinForm实现移除控件某个事件的方法
生活随笔
收集整理的這篇文章主要介紹了
[转] WinForm实现移除控件某个事件的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文?WinForm實現(xiàn)移除控件某個事件的方法
本文實例講述了WinForm實現(xiàn)移除控件某個事件的方法,供大家參考借鑒一下。具體功能代碼如下:
主要功能部分代碼如下:
| 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"); } |
?
沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠(yuǎn)不要讓自己的自由、好奇、充滿創(chuàng)造力的想法被現(xiàn)實的框架所束縛,讓創(chuàng)造力自由成長吧! 多花時間,關(guān)心他(她)人,正如別人所關(guān)心你的。理想的騰飛與實現(xiàn),沒有別人的支持與幫助,是萬萬不能的。本文轉(zhuǎn)自wenglabs博客園博客,原文鏈接:http://www.cnblogs.com/arxive/p/5885010.html,如需轉(zhuǎn)載請自行聯(lián)系原作者
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的[转] WinForm实现移除控件某个事件的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net缓存机制
- 下一篇: [docker]docker压力测试