c#如何绑定事件侦听 .

在窗口一注册事件侦听。

事件触发在窗口二 里执行。

  1. //窗口1 Form1   
  2. public delegate void ListenerHandler();  
  3. public event ListenerHandler Listener=null;  
  4.   
  5. public void DoSomeThing()  
  6. {  
  7. if(Listener!=null)//确定事件已被订阅(注册过)   
  8. {  
  9. Listener();//触发事件   
  10. }  
  11. }  
  12.   
  13. //窗口2 Form2   
  14. Form1 f1=new Form1();  
  15. f1.Listener+=new ListenerHandler(noteMe);//订阅(注册)窗口1的Listener事件   
  16. //事件处理方法   
  17. private void noteMe()  
  18. {  
  19. //窗口1的Listener事件出发后执行   
  20. }  


 带参数的事件侦听,只需在委托里添加参数。修改如下:

  1. //窗口1 Form1   
  2. public delegate void ListenerHandler(Object sender);  
  3. public event ListenerHandler Listener=null;  
  4.   
  5. public void DoSomeThing()  
  6. {  
  7. if(Listener!=null)//确定事件已被订阅(注册过)   
  8. {  
  9. Listener("在这里传递参数");//触发事件   
  10. }  
  11. }  
  12.   
  13. //窗口2 Form2   
  14. Form1 f1=new Form1();  
  15. f1.Listener+=new ListenerHandler(noteMe);//订阅(注册)窗口1的Listener事件   
  16. //事件处理方法   
  17. private void noteMe(Object sender)  
  18. {  
  19. //窗口1的Listener事件出发后执行   
  20. }  


posted @ 2011-11-10 11:17  therockthe  阅读(456)  评论(0)    收藏  举报