c#如何绑定事件侦听 .
在窗口一注册事件侦听。
事件触发在窗口二 里执行。
- //窗口1 Form1
- public delegate void ListenerHandler();
- public event ListenerHandler Listener=null;
- public void DoSomeThing()
- {
- if(Listener!=null)//确定事件已被订阅(注册过)
- {
- Listener();//触发事件
- }
- }
- //窗口2 Form2
- Form1 f1=new Form1();
- f1.Listener+=new ListenerHandler(noteMe);//订阅(注册)窗口1的Listener事件
- //事件处理方法
- private void noteMe()
- {
- //窗口1的Listener事件出发后执行
- }
带参数的事件侦听,只需在委托里添加参数。修改如下:
- //窗口1 Form1
- public delegate void ListenerHandler(Object sender);
- public event ListenerHandler Listener=null;
- public void DoSomeThing()
- {
- if(Listener!=null)//确定事件已被订阅(注册过)
- {
- Listener("在这里传递参数");//触发事件
- }
- }
- //窗口2 Form2
- Form1 f1=new Form1();
- f1.Listener+=new ListenerHandler(noteMe);//订阅(注册)窗口1的Listener事件
- //事件处理方法
- private void noteMe(Object sender)
- {
- //窗口1的Listener事件出发后执行
- }
浙公网安备 33010602011771号