Zdarzenia (Przewodnik programowania w języku C#)
Zdarzenia umożliwiają klasie lub obiektowi powiadamianie innych klas lub obiektów, gdy wystąpi coś interesującego. Klasa, która wysyła (lub zgłasza) zdarzenie, jest nazywana wydawcą, a klasy, które odbierają (lub obsługują) zdarzenie, są nazywane subskrybentami.
W typowej aplikacji Windows Forms lub aplikacji internetowej w języku C# subskrybujesz zdarzenia wywoływane przez kontrolki, takie jak przyciski i pola listy. Zintegrowane środowisko projektowe (IDE) języka Visual C# umożliwia przeglądanie zdarzeń publikowanych przez kontrolkę i wybieranie tych, które mają być obsługiwane. Ide zapewnia łatwy sposób automatycznego dodawania pustej metody obsługi zdarzeń i kodu subskrybowania zdarzenia. Aby uzyskać więcej informacji, zobacz Jak subskrybować i anulować subskrypcję zdarzeń.
Przegląd zdarzeń
Zdarzenia mają następujące właściwości:
Wydawca określa, kiedy zdarzenie jest wywoływane; Subskrybenci określają, jakie akcje są podejmowane w odpowiedzi na zdarzenie.
Zdarzenie może mieć wielu subskrybentów. Subskrybent może obsługiwać wiele zdarzeń od wielu wydawców.
Zdarzenia, które nie mają subskrybentów, nigdy nie są wywoływane.
Zdarzenia są zwykle używane do sygnalizowania akcji użytkownika, takich jak kliknięcia przycisków lub wybory menu w graficznych interfejsach użytkownika.
Jeśli zdarzenie ma wielu subskrybentów, procedury obsługi zdarzeń są wywoływane synchronicznie, gdy zostanie wywołane zdarzenie. Aby asynchronicznie wywoływać zdarzenia, zobacz Asynchroniczne wywoływanie metod synchronicznych.
W bibliotece klas .NET zdarzenia są oparte na delegacie EventHandler i klasie EventArgs bazowej.
Sekcje pokrewne
Aby uzyskać więcej informacji, zobacz:
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Zdarzenia w specyfikacji języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.
Polecane rozdziały książki
Delegaci, zdarzenia i wyrażenia lambda w podręczniku języka C# 3.0, wydanie trzecie: ponad 250 rozwiązań dla programistów języka C# 3.0
Delegaci i zdarzeniaEdukacja języku C# 3.0: podstawy języka C# 3.0