C#中事件產生和實現的流程: 1.定義A為產生事件的實例,a為A產生的一個事件 2.定義B為接收事件的實例,b為處理事件的方法 3.A由于用戶(程序編寫者或程序使用者)或者系統產生一個a事件(例如點擊一個Button,產生一個Click事件) 4.A通過事件列表中的委托對象將這個事件通知給B 5.B接到一個事件通知(實際是B.b利用委托來實現事件的接收) 6.調用B.b方法完成事件處理 public class A { public delegate void EventHandler(object sender); public event EventHandler a; public void Run() { Console.WriteLine("Trigger an event."); a(this); } } class B { public B(A a) { a.a += new A.EventHandler(this.b); } private void b(object sender) { Console.WriteLine("Received and handled an event." ); Console.Read(); } }