命名空間:System
程式集:mscorlib(在 mscorlib.dll 中)
語法
Visual Basic(聲明)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Delegate Sub EventHandler ( _
sender As Object, _
e As EventArgs _
)
Visual Basic(用法)
Dim instance As New EventHandler(AddressOf HandlerMethod)
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler (
Object sender,
EventArgs e
)
C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler (
Object^ sender,
EventArgs^ e
)
J#
/** @delegate */
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public delegate void EventHandler (
Object sender,
EventArgs e
)
JScript
JScript 支持使用委託,但不支持進行新的聲明。
參數
sender
事件源。
e
不包含任何事件數據的 EventArgs。
備註
.NET Framework 中的事件模型基於具有事件委託,該委託將事件與事件處理程式連線。引發事件需要兩個元素:
標識對事件提供回響的方法的委託。
保存事件數據的類。
委託是一個定義簽名的類型,即方法的返回值類型和參數列表類型。可以使用委託類型來聲明一個變數,該變數可以引用與委託簽名相同的所有方法。
事件處理程式委託的標準簽名定義一個沒有返回值的方法,其第一個參數的類型為 Object,它引用引發事件的實例,第二個參數從 EventArgs 類型派生,它保存事件數據。如果事件不生成事件數據,則第二個參數只是 EventArgs 的一個實例。否則,第二個參數為從 EventArgs 派生的自定義類型,提供保存事件數據所需的全部欄位或屬性。
EventHandler 是一個預定義的委託,專用於表示不生成數據的事件的事件處理程式方法。如果事件生成數據,則必須提供自己的自定義事件數據類型,並且必須要么創建一個委託,其中第二個參數的類型為自定義類型,要么使用泛型 EventHandler 委託類並用自定義類型替代泛型類型參數。
若要將事件與處理事件的方法關聯,請向事件添加委託的實例。除非移除了該委託,否則每當發生該事件時就調用事件處理程式。
有關事件處理程式委託的更多信息,請參見 事件和委託。
主題 位置
如何:在 ASP.NET 網頁中對事件處理程式進行運行時動態綁定 生成 ASP .NET Web 應用程式
示例
下面的代碼示例演示不使用事件數據的事件處理程式委託的聲明。EventHandler 類是事件委託的類型,sender 是引發事件的對象,而 e 則是不包含任何數據的事件數據對象。示例的第二行代碼為類中沒有數據的事件定義事件成員。
Visual Basic 複製代碼
Delegate Sub EventHandler(sender As Object, e As EventArgs)
Public Event NoDataEventHandler As EventHandler
C# 複製代碼
public delegate void EventHandler(Object sender, EventArgs e);
public event EventHandler NoDataEventHandler;
C++ 複製代碼
public:
delegate void EventHandler( Object^ sender, EventArgs^ e );
event EventHandler^ NoDataEventHandler;
J# 複製代碼
public delegate void EventHandler(Object sender, EventArgs e);
public EventHandler noDataEventHandler = null;
/** @event
*/
public void add_NoDataEventHandler(EventHandler p)
{
noDataEventHandler =(EventHandler)System.Delegate.
Combine(noDataEventHandler, p);
}//add_NoDataEventHandler
/** @event
*/
public void remove_NoDataEventHandler(EventHandler p)
{
noDataEventHandler =(EventHandler)System.Delegate.
Remove(noDataEventHandler, p);
}// remove_NoDataEventHandler
相關詞條
-
EventHandler
sen Even Even
-
GUI軟體測試
概念GUI的存在為用戶的操作帶來了極大的方便,同時,也使得GUI軟體更複雜、更難以測試。GUI軟體的測試由於其凸現出來的/重要性...
概念 GUI軟體 GUI軟體測試的難點 GUI軟體測試方法 -
Vega值
簡介 vega值 Vega值是期權對標的資產價格波動率變動的敏感度,它反映當波動率變化一個單位時(通常用1%來衡量),期權價格理...
簡介 認識 實際套用 程式設計 -
c#委託
C# 中的委託和事件引言委託和事件在 .Net Framework中的套用非常廣泛,然而,較好地理解委託和事件對很多接...
引言 將方法作為方法的參數 將方法綁定到委託 事件的由來 事件和委託的編譯代碼 -
SEDA
基本介紹SEDA(Staged Event-Driven Architecture)的核心思想是把一個請求處理過程分成幾個...
基本介紹 雜誌SEDA -
BackgroundWorker
控制項簡介該控制項有三個事件:DoWork 、ProgressChanged 和 RunWorkerCompleted在程式中調用R...
控制項簡介 三個事件 示例代碼 -
JavaScript凌厲開發:Ext詳解與實踐
設計模式——觀察者模式4.3.2何謂EventHandler’4.3.3 函式的作用域4.3.4 小結:如何為EventHandler自定義輸入...
內容簡介 作者簡介 編輯推薦 目錄 -
SuperWaba
SuperWabaSuperWaba是一個開源的PDA和智慧型手機應用程式開發平台。該平台主要由虛擬機、開發和部署工具、UI控制項...
優點 缺點 支持的OS 支持的設備 如何獲得SuperWaba -
.net反射簡介
; } public event EventHandler eventHandler; public void DoEvent() { eventHandler...
概述 一些在反射中經常使用的類 其它 示例