Eventi (Guida per programmatori C#)Events (C# Programming Guide)

Tramite gli eventi, una classe o un oggetto è in grado di segnalare ad altre classi o oggetti una situazione di interesse.Events enable a class or object to notify other classes or objects when something of interest occurs. La classe che invia (o genera) l'evento è chiamata autore e le classi che ricevono (o gestiscono) l'evento sono chiamate sottoscrittori.The class that sends (or raises) the event is called the publisher and the classes that receive (or handle) the event are called subscribers.

In un'applicazione C# Web o Windows Form tipica si sottoscrivono eventi generati da controlli quali pulsanti e caselle di riepilogo.In a typical C# Windows Forms or Web application, you subscribe to events raised by controls such as buttons and list boxes. È 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.You can use the Visual C# integrated development environment (IDE) to browse the events that a control publishes and select the ones that you want to handle. L'IDE consente di aggiungere automaticamente un metodo vuoto del gestore eventi e il codice per sottoscrivere l'evento.The IDE provides an easy way to automatically add an empty event handler method and the code to subscribe to the event. Per altre informazioni, vedere Procedura: Eseguire e annullare la sottoscrizione a eventi.For more information, see How to: Subscribe to and Unsubscribe from Events.

Cenni preliminari sugli eventiEvents Overview

Di seguito sono riportate le proprietà degli eventi:Events have the following properties:

  • L'autore determina quando viene generato un evento. I sottoscrittori determinano quale azione viene eseguita in risposta all'evento.The publisher determines when an event is raised; the subscribers determine what action is taken in response to the event.

  • Un evento può avere più sottoscrittori.An event can have multiple subscribers. Un sottoscrittore può gestire più eventi da più autori.A subscriber can handle multiple events from multiple publishers.

  • Gli eventi che non hanno sottoscrittore non vengono mai generati.Events that have no subscribers are never raised.

  • 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.Events are typically used to signal user actions such as button clicks or menu selections in graphical user interfaces.

  • Quando un evento ha più sottoscrittori, i gestori eventi vengono richiamati in modo sincrono al momento della generazione dell'evento.When an event has multiple subscribers, the event handlers are invoked synchronously when an event is raised. Per richiamare gli eventi in modo asincrono, vedere Calling Synchronous Methods Asynchronously.To invoke events asynchronously, see Calling Synchronous Methods Asynchronously.

  • Nella libreria di classi .NET Framework gli eventi sono basati sul delegato EventHandler e sulla classe di base EventArgs.In the .NET Framework class library, events are based on the EventHandler delegate and the EventArgs base class.

Per altre informazioni, vedere:For more information, see:

Specifiche del linguaggio C#C# Language Specification

Per altre informazioni, vedere Eventi nella Specifica del linguaggio C#.For more information, see Events in the C# Language Specification. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.The language specification is the definitive source for C# syntax and usage.

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 (Tutto su C# 3.0, terza edizione: più di 250 soluzioni per i programmatori C# 3.0)Delegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegates and Events (Delegati ed eventi) in Learning C# 3.0: Master the Fundamentals of C# 3.0 (Imparare C# 3.0: concetti di base di C# 3.0)Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

Vedere ancheSee also