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.

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#.

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

Vedi anche