C#中使用事件须要的步骤: 1.建立一个委托 2.将建立的委托与特定事件关联(.Net类库中的不少事件都是已经定制好的,因此他们也就有相应的一个委托,在编写关联事件处理程序--也就是当有事件发生时咱们要执行的方法的时候咱们须要和这个委托有相同的签名) 3.编写事件处理程序 4.利用编写的事件处理程序生成一个委托实例 5.把这个委托实例添加到产生事件对象的事件列表中去,这个过程又叫订阅事件 C#中事件产生和实现的流程: 1.定义A为产生事件的实例,a为A产生的一个事件 2.定义B为接收事件的实例,b为处理事件的方法 3.A因为用户(程序编写者或程序使用者)或者系统产生一个a事件(例如点击一个Button,产生一个Click事件) 4.A经过事件列表中的委托对象将这个事件通知给B 5.B接到一个事件通知(实际是B.b利用委托来实现事件的接收) 6.调用B.b方法完成事件处理
1 this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
1 this.EventTester += new EventDelegate(EventTestFunc); //绑定 2 EventTesters(); //触发 3 public delegate void EventDelegates(); //委托者 4 public event EventDelegates EventTesters; //事件 5 public void EventTestFuncs() //回调函数/委托事件 6 { 7 MessageBox.Show("无参数自定义事件"); 8 }
1 public delegate void EventDelegate(object sender, EventArgs e); 2 public event EventDelegate EventTester; 3 public void EventTestFunc(object sender, EventArgs e) 4 { 5 MessageBox.Show("有参数自定义事件"); 6 }