Questa documentazione è stata archiviata e non viene gestita.

Delegato EventHandler

Rappresenta il metodo di gestione dell'evento che non dispone di dati dell'evento.

Spazio dei nomi: System
Assembly: mscorlib (in 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 supporta l'utilizzo di delegati ma non la dichiarazione di nuovi.

Parametri

sender

Origine dell'evento.

e

Oggetto EventArgs che non contiene dati dell'evento.

Il modello di evento in .NET Framework si basa su un delegato dell'evento che connette un evento al relativo gestore. Per generare un evento, sono necessari due elementi:

  • Delegato che identifica il metodo che fornisce la risposta all'evento.

  • Una classe che contenga i dati dell'evento.

Un delegato è un tipo che definisce una firma, ovvero il tipo del valore restituito e i tipi relativi all'elenco dei parametri di un metodo. Il tipo delegato può essere utilizzato per dichiarare una variabile che può fare riferimento a qualsiasi metodo con la stessa firma del delegato.

La firma standard di un delegato del gestore eventi definisce un metodo che non restituisce alcun valore. Il primo parametro di tale metodo è di tipo Object e fa riferimento all'istanza che genera l'evento, mentre il secondo parametro è derivato dal tipo EventArgs e contiene i dati dell'evento. Se l'evento non genera dati dell'evento, il secondo parametro è semplicemente un'istanza di EventArgs. In caso contrario, il secondo parametro è un tipo personalizzato derivato da EventArgs e contiene i campi e le proprietà in cui inserire i dati dell'evento.

EventHandler è un delegato predefinito che rappresenta in modo specifico un metodo di gestione eventi per un evento che non genera dati. Se l'evento genera dati, è necessario fornire un tipo personalizzato di dati dell'evento e creare un delegato dove il tipo del secondo parametro è rappresentato dal tipo personalizzato, oppure utilizzare la classe di delegato generica EventHandler e sostituire il tipo personalizzato al parametro del tipo generico.

Per associare l'evento al metodo di gestione dell'evento, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene richiamato ogni qualvolta si verifica l'evento, a meno che non venga rimosso il delegato.

Per ulteriori informazioni sui delegati di gestori eventi, vedere Eventi e delegati.

Nel codice di esempio riportato di seguito viene illustrata la dichiarazione di un delegato del gestore eventi che non utilizza dati dell'evento. La classe EventHandler rappresenta il tipo del delegato dell'evento, sender è l'oggetto che genera l'evento e e è un oggetto dati dell'evento in cui non sono contenuti dati. La seconda riga di codice dell'esempio definisce il membro evento nella classe per un evento senza dati.

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 Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Mostra: