Eventos (Guía de programación de C#)
Cuando ocurre algo interesante, los eventos habilitan una clase u objeto para notificarlo a otras clases u objetos. La clase que envía (o produce) el evento recibe el nombre de editor y las clases que reciben (o controlan) el evento se denominan suscriptores.
En una aplicación de formularios Windows Forms o Web en C# típica, se suscribe a eventos generados por controles como botones y cuadros de lista. Puede utilizar el entorno de desarrollo integrado (IDE) Visual C# para examinar los eventos que publica un control y seleccionar los que desea controlar. El IDE agrega automáticamente un método de control de eventos vacío y el código para suscribirse al evento. Para obtener más información, vea Cómo: Suscribir y cancelar la suscripción a eventos (Guía de programación de C#).
Información general de eventos
Los eventos tienen las propiedades siguientes:
El editor determina cuándo se produce un evento; los suscriptores determinan qué operación se realiza en respuesta al evento.
Un evento puede tener varios suscriptores. Un suscriptor puede controlar varios eventos de varios editores.
Nunca se provocan eventos que no tienen suscriptores.
Los eventos se suelen usar para señalar acciones del usuario, como hacer clic en un botón o seleccionar un menú en interfaces gráficas de usuario.
Si un evento tiene varios suscriptores, se invocan los controladores de eventos sincrónicamente cuando se produce el evento. Para invocar de forma asincrónica los eventos, vea Llamar a métodos sincrónicos de forma asincrónica.
En la biblioteca de clases .NET Framework, los eventos se basan en el delegado EventHandler y en la clase base EventArgs.
Secciones relacionadas
Para obtener más información, vea:
Cómo: Suscribir y cancelar la suscripción a eventos (Guía de programación de C#)
Cómo: Publicar eventos que cumplan las directrices de .NET Framework (Guía de programación de C#)
Cómo: Producir eventos de una clase base en clases derivadas (Guía de programación de C#)
Cómo: Implementar eventos de interfaz (Guía de programación de C#)
Cómo: Utilizar un diccionario para almacenar instancias de eventos (Guía de programación de C#)
Cómo: Implementar descriptores de acceso de eventos personalizados (Guía de programación de C#)
Especificación del lenguaje C#
Para obtener más información, consulte la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.
Capítulos destacados del libro
Delegates, Events, and Lambda Expressions en C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
Delegates and Events en Learning C# 3.0: Master the fundamentals of C# 3.0
Vea también
Referencia
Delegados (Guía de programación de C#)
Conceptos
Otros recursos
Crear controladores de eventos en formularios Windows Forms
Programación multiproceso con el modelo asincrónico basado en eventos