Eventos (Guía de programación de C#)
Actualización: noviembre 2007
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 controlador 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.
Los eventos se pueden utilizar para sincronizar subprocesos.
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, vea las secciones siguientes de Especificación del lenguaje C#:
1.6.7.4 Eventos
10.2.9.2 Nombres de miembros reservados para eventos
10.8 Eventos
13.2.3 Eventos de interfaz
Vea también
Conceptos
Referencia
Delegados (Guía de programación de C#)
Otros recursos
Crear controladores de eventos en formularios Windows Forms
Programación multiproceso con el modelo asincrónico basado en eventos