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 }