zoukankan      html  css  js  c++  java
  • How to remove all event handlers from a control

    public partial class Form1:Form 
    { 
           
    publicForm1() 
           
    { 
               
    InitializeComponent(); 
     
                button1
    .Click+= button1_Click; 
                button1
    .Click+= button1_Click2; 
                button2
    .Click+= button2_Click; 
           
    } 
     
           
    privatevoid button1_Click(object sender,EventArgs e) 
           
    { 
               
    MessageBox.Show("Hello"); 
           
    } 
     
           
    privatevoid button1_Click2(object sender,EventArgs e) 
           
    { 
               
    MessageBox.Show("World"); 
           
    } 
     
           
    privatevoid button2_Click(object sender,EventArgs e) 
           
    { 
               
    RemoveClickEvent(button1); 
           
    } 
     
           
    privatevoidRemoveClickEvent(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]); 
           
    } 
       
    } 
    } 

  • 相关阅读:
    Calendar类的应用
    使用Date和SimpleDateFormat类表示时间
    java中基本类型和字符串类型的转换
    java中的包装类
    java中的字符
    List的增删改插
    异常总结
    java中的异常链
    java中的异常抛出以及自定义异常
    spring mvc异常统一处理常见的有3种方式:
  • 原文地址:https://www.cnblogs.com/hdl217/p/2238037.html
Copyright © 2011-2022 走看看