Condividi tramite


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:

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

Guida per programmatori C#

Riferimenti

Delegati (Guida per programmatori C#)

EventHandler

Altre risorse

Creazione di gestori eventi in Windows Form

Programmazione multithreading con il modello asincrono basato su eventi