Zdarzenia (Przewodnik programowania w języku C#)Events (C# Programming Guide)

Zdarzenia umożliwiają klasie lub obiektowi powiadamianie innych klas lub obiektów w przypadku wystąpienia czegoś zainteresowania.Events enable a class or object to notify other classes or objects when something of interest occurs. Klasa, która wysyła (lub podnosi) zdarzenie, jest nazywana wydawcą i klasy, które odbierają (lub obsługują) zdarzenie są nazywane subskrybentami.The class that sends (or raises) the event is called the publisher and the classes that receive (or handle) the event are called subscribers.

W typowej C# Windows Forms lub aplikacji sieci Web subskrybujesz zdarzenia wywoływane przez kontrolki, takie jak przyciski i pola listy.In a typical C# Windows Forms or Web application, you subscribe to events raised by controls such as buttons and list boxes. Przy użyciu C# zintegrowanego środowiska programistycznego (IDE) można przeglądać zdarzenia publikowane przez formant i wybierać te, które mają być obsługiwane.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. Środowisko IDE zapewnia łatwy sposób automatycznego dodawania pustej metody obsługi zdarzeń i kodu w celu subskrybowania zdarzenia.The IDE provides an easy way to automatically add an empty event handler method and the code to subscribe to the event. Aby uzyskać więcej informacji, zobacz jak: Subskrybowanie i anulowanie subskrypcji zdarzeń.For more information, see How to: Subscribe to and Unsubscribe from Events.

Przegląd zdarzeńEvents Overview

Zdarzenia mają następujące właściwości:Events have the following properties:

  • Wydawca określa, kiedy zdarzenie jest zgłaszane; Subskrybenci określają, jakie działania są podejmowane w odpowiedzi na zdarzenie.The publisher determines when an event is raised; the subscribers determine what action is taken in response to the event.

  • Wydarzenie może mieć wielu subskrybentów.An event can have multiple subscribers. Subskrybenci mogą obsługiwać wiele zdarzeń z wielu wydawców.A subscriber can handle multiple events from multiple publishers.

  • Zdarzenia, które nie mają subskrybentów nigdy nie są zgłaszane.Events that have no subscribers are never raised.

  • Zdarzenia są zwykle używane do sygnalizowania akcji użytkownika, takich jak kliknięcia przycisków lub menu w graficznym interfejsie użytkownika.Events are typically used to signal user actions such as button clicks or menu selections in graphical user interfaces.

  • Gdy zdarzenie ma wielu subskrybentów, programy obsługi zdarzeń są wywoływane synchronicznie, gdy zdarzenie jest zgłaszane.When an event has multiple subscribers, the event handlers are invoked synchronously when an event is raised. Aby wywoływać zdarzenia asynchronicznie, zobacz wywoływanie metod synchronicznych asynchronicznie.To invoke events asynchronously, see Calling Synchronous Methods Asynchronously.

  • W bibliotece klas .NET Framework zdarzenia są oparte na EventHandler delegatze EventArgs i klasie bazowej.In the .NET Framework class library, events are based on the EventHandler delegate and the EventArgs base class.

Aby uzyskać więcej informacji, zobacz:For more information, see:

Specyfikacja języka C#C# Language Specification

Aby uzyskać więcej informacji, zobacz zdarzenia w C# specyfikacji języka.For more information, see Events in the C# Language Specification. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.The language specification is the definitive source for C# syntax and usage.

Delegaty, zdarzenia i wyrażenia lambda w C# 3,0 Cookbook, wydanie trzecie: Ponad 250 rozwiązań dla C# programistów 3,0Delegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegaci i zdarzenia w uczeniu C# 3,0: Główne podstawy C# 3,0Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

Zobacz takżeSee also