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]); 
           
    } 
       
    } 
    } 

  • 相关阅读:
    进程虚拟内存
    非连续内存区缺页异常处理
    请求调页和写时复制
    标签对齐(补充)
    shell数学表达式
    缺页异常的处理
    不错的书籍
    imag database2
    image database
    Apache down了?
  • 原文地址:https://www.cnblogs.com/hdl217/p/2238037.html
Copyright © 2011-2022 走看看