Eventi (Guida per programmatori C#)
Tramite gli eventi, una classe o un oggetto è in grado di segnalare ad altre classi o oggetti una situazione di interesse. La classe che invia (o genera) l'evento è denominata server di pubblicazione e le classi che ricevono (o gestiscono) l'evento sono denominate sottoscrittori.
In un'applicazione C# Web o Windows Form tipica si sottoscrivono eventi generati da controlli quali pulsanti e caselle di riepilogo. È possibile usare l'ambiente di sviluppo integrato (IDE) di Visual C# per cercare gli eventi pubblicati da un controllo e selezionare quelli che si vuole gestire. L'IDE consente di aggiungere automaticamente un metodo vuoto del gestore eventi e il codice per sottoscrivere l'evento. Per altre informazioni, vedere Come sottoscrivere e annullare la sottoscrizione di eventi.
Cenni preliminari sugli eventi
Di seguito sono riportate le proprietà degli eventi:
L'autore determina quando viene generato un evento. I sottoscrittori determinano quale azione viene eseguita in risposta all'evento.
Un evento può avere più sottoscrittori. Un sottoscrittore può gestire più eventi da più autori.
Gli eventi che non hanno sottoscrittore non vengono mai generati.
Gli eventi vengono in genere usati 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 al momento della generazione dell'evento. Per richiamare gli eventi in modo asincrono, vedere Calling Synchronous Methods Asynchronously.
Nella libreria di classi .NET gli eventi sono basati sul delegato EventHandler e sulla classe EventArgs di base.
Sezioni correlate
Per altre informazioni, vedere:
Specifiche del linguaggio C#
Per altre informazioni, vedere Eventi nella Specifica del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.
Capitoli del libro rappresentati
Delegates, Events, and Lambda Expressions (Delegati, eventi ed espressioni lambda) in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
Delegati ed eventi in Learning C# 3.0: Nozioni fondamentali su C# 3.0