Esta documentación está archivada y no tiene mantenimiento.

EventHandler (Delegado)

Representa el método que controlará eventos que no tienen datos de evento.

Espacio de nombres: System
Ensamblado: mscorlib (en mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public delegate void EventHandler (
	Object sender,
	EventArgs e
)
/** @delegate */
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public delegate void EventHandler (
	Object sender, 
	EventArgs e
)
JScript admite el uso de delegados, pero no admite la declaración de delegados nuevos.

Parámetros

sender

Origen del evento.

e

Clase EventArgs que no contiene datos de evento.

El modelo de evento de .NET Framework se basa en la existencia de un delegado de eventos que conecte un evento a su controlador. Para provocar un evento, se requieren dos elementos:

  • Delegado que identifica el método que proporciona la respuesta al evento.

  • Clase que contiene los datos de eventos.

El delegado es un tipo que define una firma, es decir, el tipo del valor devuelto y los tipos de lista de parámetros de un método. Se puede utilizar el tipo de delegado para declarar una variable que puede hacer referencia a cualquier método con la misma firma que el delegado.

La firma estándar de un delegado del controlador de eventos define un método que no devuelve ningún valor, cuyo primer parámetro es del tipo Object y hace referencia a la instancia que provoca el evento y cuyo segundo parámetro se deriva del tipo EventArgs y contiene los datos de evento. Si el evento no genera los datos de evento, el segundo parámetro simplemente es una instancia de EventArgs. De lo contrario, el segundo parámetro es un tipo personalizado derivado de EventArgs y proporciona los campos o las propiedades necesarias para contener los datos de evento.

EventHandler es un delegado predefinido que representa específicamente un método controlador para un evento que no genera datos. Si su evento genera datos, debe suministrar su propio tipo de datos de evento personalizado y crear un delegado donde el tipo del segundo parámetro sea el tipo personalizado o utilizar la clase de delegado genérico EventHandler y sustituir el tipo personalizado por el parámetro de tipo genérico.

Para asociar el evento al método que lo controlará, hay que agregar una instancia del delegado al evento. Siempre que se produce el evento, se llama al controlador de eventos, a menos que se quite el delegado.

Para obtener más información sobre los delegados del controlador de eventos, vea Eventos y delegados.

En el ejemplo de código siguiente se muestra la declaración de un delegado del controlador de eventos que no utiliza datos de evento. La clase EventHandler es el tipo del delegado del evento, sender es el objeto que provoca el evento y e es un objeto de datos de evento que no contiene datos. La segunda línea de código del ejemplo define el miembro del evento de la clase para un evento que no tiene datos.

public delegate void EventHandler(Object sender, EventArgs e);
public event EventHandler NoDataEventHandler;

public delegate void EventHandler(Object sender, EventArgs e);

public EventHandler noDataEventHandler = null;

/** @event 
 */
public void add_NoDataEventHandler(EventHandler p)
{
    noDataEventHandler =(EventHandler)System.Delegate.
        Combine(noDataEventHandler, p);
}//add_NoDataEventHandler

/** @event 
 */
public void remove_NoDataEventHandler(EventHandler p)
{
    noDataEventHandler =(EventHandler)System.Delegate.
        Remove(noDataEventHandler, p);
}// remove_NoDataEventHandler


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Mostrar: