EventHandler 委托

定义

表示将处理没有事件数据的事件的方法。

public delegate void EventHandler(System::Object ^ sender, EventArgs ^ e);
public delegate void EventHandler(object sender, EventArgs e);
public delegate void EventHandler(object? sender, EventArgs e);
[System.Serializable]
public delegate void EventHandler(object sender, EventArgs e);
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);
type EventHandler = delegate of obj * EventArgs -> unit
[<System.Serializable>]
type EventHandler = delegate of obj * EventArgs -> unit
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type EventHandler = delegate of obj * EventArgs -> unit
Public Delegate Sub EventHandler(sender As Object, e As EventArgs)

参数

sender
Object

事件源。

e
EventArgs

不包含事件数据的对象。

属性

注解

.NET中的事件模型基于具有将事件与其处理程序连接的事件委托。 若要引发事件,需要两个元素:

  • 标识提供事件响应的方法的委托。
  • (可选)包含事件数据的类(如果事件提供数据)。

委托是定义签名的类型,即方法的返回值类型和参数列表类型。 可以使用委托类型声明一个变量,该变量可以引用与委托具有相同签名的任何方法。

事件处理程序委托的标准签名定义不返回值的方法。 此方法的第一个参数的类型为类型 Object ,引用引发事件的实例。 其第二个参数派生自类型 EventArgs 并保存事件数据。 如果事件不生成事件数据,则第二个参数只是字段的值 EventArgs.Empty 。 否则,第二个参数是派生自 EventArgs 的类型,并提供保存事件数据所需的任何字段或属性。

委托 EventHandler 是一个预定义的委托,它专门表示不生成数据的事件的事件处理程序方法。 如果事件确实生成数据,则必须使用泛型 EventHandler<TEventArgs> 委托类。

若要将事件与将处理事件的方法相关联,请将委托的实例添加到事件。 除非删除委托,否则每当事件发生时调用事件处理程序。

有关事件处理程序委托的详细信息,请参阅 处理和引发事件

扩展方法

名称 说明
GetMethodInfo(Delegate)

获取一个对象,该对象表示由指定委托表示的方法。

适用于

另请参阅