事件 (C# 程式設計手冊)
事件可讓 類別 或物件在某些相關的事情發生時,告知其他類別或物件。 傳送 (或 「引發」(raise)) 事件的類別稱為 「發行者」 (publisher),而接收 (或 「處理」(handle)) 事件的類別則稱為 「訂閱者」(subscriber)。
在典型的 C# Windows Forms 或 Web 應用程式中,您可訂閱由控制項 (如按鈕和清單方塊) 引發的事件。 您可以使用 Visual C# 整合式開發環境 (IDE) 來瀏覽控制項發行的事件,並選擇您想要處理的事件。 IDE 提供一種簡單的方式來自動新增空的事件處理常式方法,及用來訂閱該事件的程式碼。 如需詳細資訊,請參閱如何訂閱及取消訂閱事件。
事件概觀
事件有下列屬性:
發行者會判斷引發事件的時間,而訂閱者則決定要採取什麼動作來回應該事件。
一個事件可以有多個訂閱者, 而訂閱者可以處理來自多個發行者的多個事件。
沒有訂閱者的事件永遠不會被引發。
事件通常用於對使用者的動作 (例如在圖形化使用者介面內按一下按鈕或選取功能表) 發出信號。
當某事件擁有多個訂閱者時,便會在事件引發的同時叫用事件處理常式。 若要以非同步方式叫用事件,請參閱 Calling Synchronous Methods Asynchronously。
在 .NET 類別庫中,事件會以 EventHandler 委派和 EventArgs 基底類別為基礎。
相關章節
如需詳細資訊,請參閱
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格中的事件。 語言規格是 C# 語法及用法的限定來源。