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

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

在典型的 C# Windows Form 或 Web 應用程式中,您會訂閱由控制項 (如按鈕和清單方塊) 引發的事件。 您可以使用 Visual C# 整合式開發環境 (IDE) 來瀏覽控制項發行的事件,並選擇您想要處理的事件。 IDE 會自動加入空的事件處理常式方法和程式碼,以訂閱該事件。 如需詳細資訊,請參閱 HOW TO:訂閱及取消訂閱事件 (C# 程式設計手冊)

事件概觀

事件有下列屬性:

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

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

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

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

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

  • 在 .NET Framework 類別庫 (Class Library) 中,事件會根據 EventHandler 委派 (Delegate) 和 EventArgs 基底類別 (Base Class)。

相關章節

如需詳細資訊,請參閱:

C# 語言規格

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

精選書籍章節

C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmersDelegates, Events, and Lambda Expressions

Learning C# 3.0: Master the fundamentals of C# 3.0Delegates and Events

請參閱

參考

委派 (C# 程式設計手冊)

EventHandler

概念

C# 程式設計手冊

其他資源

在 Windows Form 中建立事件處理常式

使用事件架構非同步模式設計多執行緒程式