EventHandler 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示将处理没有事件数据的事件的方法。
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
事件源。
不包含事件数据的对象。
- 属性
注解
.NET中的事件模型基于具有将事件与其处理程序连接的事件委托。 若要引发事件,需要两个元素:
- 标识提供事件响应的方法的委托。
- (可选)包含事件数据的类(如果事件提供数据)。
委托是定义签名的类型,即方法的返回值类型和参数列表类型。 可以使用委托类型声明一个变量,该变量可以引用与委托具有相同签名的任何方法。
事件处理程序委托的标准签名定义不返回值的方法。 此方法的第一个参数的类型为类型 Object ,引用引发事件的实例。 其第二个参数派生自类型 EventArgs 并保存事件数据。 如果事件不生成事件数据,则第二个参数只是字段的值 EventArgs.Empty 。 否则,第二个参数是派生自 EventArgs 的类型,并提供保存事件数据所需的任何字段或属性。
委托 EventHandler 是一个预定义的委托,它专门表示不生成数据的事件的事件处理程序方法。 如果事件确实生成数据,则必须使用泛型 EventHandler<TEventArgs> 委托类。
若要将事件与将处理事件的方法相关联,请将委托的实例添加到事件。 除非删除委托,否则每当事件发生时调用事件处理程序。
有关事件处理程序委托的详细信息,请参阅 处理和引发事件。
扩展方法
| 名称 | 说明 |
|---|---|
| GetMethodInfo(Delegate) |
获取一个对象,该对象表示由指定委托表示的方法。 |