事件 (C# 程式設計手冊)

事件可讓 類別 或物件在某些相關的事情發生時,告知其他類別或物件。 傳送 (或 「引發」(raise)) 事件的類別稱為 「發行者」 (publisher),而接收 (或 「處理」(handle)) 事件的類別則稱為 「訂閱者」(subscriber)。

在典型的 C# Windows Forms 或 Web 應用程式中,您可訂閱由控制項 (如按鈕和清單方塊) 引發的事件。 您可以使用 Visual C# 整合式開發環境 (IDE) 來瀏覽控制項發行的事件,並選擇您想要處理的事件。 IDE 提供一種簡單的方式來自動新增空的事件處理常式方法,及用來訂閱該事件的程式碼。 如需詳細資訊,請參閱如何訂閱及取消訂閱事件

事件概觀

事件有下列屬性:

  • 發行者會判斷引發事件的時間,而訂閱者則決定要採取什麼動作來回應該事件。

  • 一個事件可以有多個訂閱者, 而訂閱者可以處理來自多個發行者的多個事件。

  • 沒有訂閱者的事件永遠不會被引發。

  • 事件通常用於對使用者的動作 (例如在圖形化使用者介面內按一下按鈕或選取功能表) 發出信號。

  • 當某事件擁有多個訂閱者時,便會在事件引發的同時叫用事件處理常式。 若要以非同步方式叫用事件,請參閱 Calling Synchronous Methods Asynchronously

  • 在 .NET 類別庫中,事件會以 EventHandler 委派和 EventArgs 基底類別為基礎。

如需詳細資訊,請參閱

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格中的事件。 語言規格是 C# 語法及用法的限定來源。

另請參閱