Condividi tramite


Eventi (Guida per programmatori C#)

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

  • 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:

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.

Capitoli del libro rappresentati

Delegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

Vedere anche

Riferimenti

Delegati (Guida per programmatori C#)

EventHandler

Concetti

Guida per programmatori C#

Altre risorse

Creazione di gestori eventi in Windows Form

Programmazione multithreading con il modello asincrono basato su eventi