Eventi (Guida per programmatori C#)
Aggiornamento: novembre 2007
Tramite gli eventi una classe o un oggetto sono in grado di segnalare ad altre classi o oggetti una situazione di interesse. La classe che invia (o genera) l'evento è chiamata autore e le classi che ricevono (o gestiscono) l'evento sono chiamate sottoscrittori.
In un'applicazione C# Web o Windows Form tipica si sottoscrivono eventi generati da controlli quali pulsanti e caselle di riepilogo. È possibile utilizzare l'IDE di Visual C# per cercare gli eventi pubblicati da un controllo e selezionare quelli che si desidera gestire. L'IDE aggiunge automaticamente un metodo del gestore eventi vuoto e il codice per sottoscrivere l'evento. Per ulteriori informazioni, vedere la classe Procedura: sottoscrivere e annullare la sottoscrizione di eventi (Guida per programmatori C#).
Cenni preliminari sugli eventi
Di seguito sono riportate le caratteristiche principali degli eventi:
L'autore determina quando un evento viene generato; i sottoscrittori determinano quale azione viene eseguita in risposta all'evento.
Un evento può avere più sottoscrittori. Uno sottoscrittore può gestire più eventi di più autori.
Gli eventi che non hanno sottoscrittore non vengono mai generati.
Gli eventi vengono in genere utilizzati per segnalare azioni dell'utente, ad esempio la scelta di un pulsante o di una voce di menu nell'interfaccia utente grafica.
Quando un evento ha più sottoscrittori, i gestori eventi vengono richiamati in modo sincrono quando viene generato un evento. Per richiamare gli eventi in modo asincrono, vedere Chiamata asincrona dei metodi sincroni.
Gli eventi possono essere utilizzati per sincronizzare i thread.
Nella libreria di classi di .NET Framework, gli eventi sono basati sul delegato EventHandler e sulla classe base EventArgs.
Sezioni correlate
Per ulteriori informazioni, vedere:
Procedura: sottoscrivere e annullare la sottoscrizione di eventi (Guida per programmatori C#)
Procedura: generare eventi della classe base in classi derivate (Guida per programmatori C#)
Procedura: implementare gli eventi di interfaccia (Guida per programmatori C#)
Procedura: utilizzare un dizionario per archiviare istanze di evento (Guida per programmatori C#)
Procedura: implementare funzioni di accesso a eventi personalizzati (Guida per programmatori C#)
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere le seguenti sezioni incluse in Specifiche del linguaggio C#:
1.6.7.4 Eventi
10.2.9.2 Nomi dei membri riservati per gli eventi
10.8 Eventi
13.2.3 Eventi dell'interfaccia
Vedere anche
Concetti
Riferimenti
Delegati (Guida per programmatori C#)
Altre risorse
Creazione di gestori eventi in Windows Form
Programmazione multithreading con il modello asincrono basato su eventi