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.

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

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

Zobacz też