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 genera) el evento recibe el nombre de publicador y las clases que reciben (o controlan) el evento se denominan suscriptores.

En una aplicación web o una aplicación de Windows Forms en C# típica, se puede suscribir a eventos generados por controles, como botones y cuadros de lista. Puede usar el entorno de desarrollo integrado (IDE) de Visual C# para examinar los eventos que publica un control y seleccionar los que quiera administrar. El IDE proporciona una forma sencilla de agregar 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 Procedimiento para suscribir y cancelar la suscripción a eventos.

Información general sobre eventos

Los eventos tienen las siguientes propiedades:

  • El publicador determina el momento en el que se genera un evento; los suscriptores determinan la acción que se lleva a cabo en respuesta al evento.

  • Un evento puede tener varios suscriptores. Un suscriptor puede controlar varios eventos de varios publicadores.

  • Nunca se generan eventos que no tienen suscriptores.

  • Los eventos se suelen usar para indicar acciones del usuario, como los clics de los botones o las selecciones de menú en las interfaces gráficas de usuario.

  • Cuando un evento tiene varios suscriptores, los controladores de eventos se invocan sincrónicamente cuando se genera un evento. Para invocar eventos de forma asincrónica, consulte Llamar a métodos sincrónicos de forma asincrónica.

  • En la biblioteca de clases de .NET, los eventos se basan en el delegado EventHandler y en la clase base EventArgs.

Para obtener más información, consulte:

Especificación del lenguaje C#

Para obtener más información, consulte la sección Eventos de Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Delegates, Events, and Lambda Expressions (Delegados, eventos y expresiones lambda) en C# 3.0 Cookbook, Tercera edición: More than 250 solutions for C# 3.0 programmers (Más de 250 soluciones para programadores de C# 3.0)

Delegates and Events (Delegados y eventos) en Learning C# 3.0: Fundamentals of C# 3.0

Consulte también