事件(C# 编程指南)

或对象可以通过事件向其他类或对象通知发生的相关事情。 发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。

在典型的 C# Windows 窗体或 Web 应用程序中,可订阅由控件(如按钮和列表框)引发的事件。 可使用 Visual C# 集成开发环境 (IDE) 来浏览控件发布的事件,选择要处理的事件。 IDE 会自动添加空事件处理程序方法和订阅事件的代码。 有关更多信息,请参见 如何:订阅和取消订阅事件(C# 编程指南)

事件概述

事件具有以下特点:

  • 发行者确定何时引发事件,订户确定执行何种操作来响应该事件。

  • 一个事件可以有多个订户。 一个订户可处理来自多个发行者的多个事件。

  • 没有订户的事件永远也不会引发。

  • 事件通常用于通知用户操作,例如,图形用户界面中的按钮单击或菜单选择操作。

  • 如果一个事件有多个订户,当引发该事件时,会同步调用多个事件处理程序。 要异步调用事件,请参见使用异步方式调用同步方法

  • 在 .NET Framework 类库中,事件是基于 EventHandler 委托和 EventArgs 基类的。

相关章节

有关更多信息,请参见:

C# 语言规范

有关详细信息,请参阅 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。

重要章节

C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers中的Delegates, Events, and Lambda Expressions

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

请参见

参考

委托(C# 编程指南)

EventHandler

概念

C# 编程指南

其他资源

在 Windows 窗体中创建事件处理程序

使用基于事件的异步模式进行多线程编程