Eventos (Guía de programación de C#)Events (C# Programming Guide)

Cuando ocurre algo interesante, los eventos habilitan una clase u objeto para notificarlo a otras clases u objetos.Events enable a class or object to notify other classes or objects when something of interest occurs. 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.The class that sends (or raises) the event is called the publisher and the classes that receive (or handle) the event are called subscribers.

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.In a typical C# Windows Forms or Web application, you subscribe to events raised by controls such as buttons and list boxes. 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.You can use the Visual C# integrated development environment (IDE) to browse the events that a control publishes and select the ones that you want to handle. 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.The IDE provides an easy way to automatically add an empty event handler method and the code to subscribe to the event. Para obtener más información, vea Cómo: Suscribir y cancelar la suscripción a eventosFor more information, see How to: Subscribe to and Unsubscribe from Events.

Información general sobre eventosEvents Overview

Los eventos tienen las siguientes propiedades:Events have the following properties:

  • 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.The publisher determines when an event is raised; the subscribers determine what action is taken in response to the event.

  • Un evento puede tener varios suscriptores.An event can have multiple subscribers. Un suscriptor puede controlar varios eventos de varios publicadores.A subscriber can handle multiple events from multiple publishers.

  • Nunca se generan eventos que no tienen suscriptores.Events that have no subscribers are never raised.

  • 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.Events are typically used to signal user actions such as button clicks or menu selections in graphical user interfaces.

  • Cuando un evento tiene varios suscriptores, los controladores de eventos se invocan sincrónicamente cuando se genera un evento.When an event has multiple subscribers, the event handlers are invoked synchronously when an event is raised. Para invocar eventos de forma asincrónica, consulte Calling Synchronous Methods Asynchronously.To invoke events asynchronously, see Calling Synchronous Methods Asynchronously.

  • En la biblioteca de clases de .NET Framework, los eventos se basan en el delegado EventHandler y en la clase base EventArgs.In the .NET Framework class library, events are based on the EventHandler delegate and the EventArgs base class.

Para obtener más información, consulte:For more information, see:

Especificación del lenguaje C#C# Language Specification

Para obtener más información, consulte la sección Eventos de Especificación del lenguaje C#.For more information, see Events in the C# Language Specification. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.The language specification is the definitive source for C# syntax and usage.

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, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegates and Events (Delegados y eventos) en Learning C# 3.0: Master the fundamentals of C# 3.0Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

Vea tambiénSee also