Ereignisse (C#-Programmierhandbuch)

Aktualisiert: November 2007

Ereignisse aktivieren eine Klasse oder ein Objekt, um Informationen über Aktionen von Interesse an andere Klassen oder Objekte zu übermitteln. Die Klasse, die das Ereignis sendet (oder auslöst), wird als Herausgeber bezeichnet und die Klassen, die das Ereignis empfangen (oder behandeln), werden als Abonnenten bezeichnet.

In einer typischen C# Windows Forms- oder -Webanwendung abonnieren Sie Ereignisse, die von Steuerelementen wie Schaltflächen und Listenfeldern ausgelöst wurden. In der integrierten Entwicklungsumgebung (IDE) von Visual C# können Sie die Ereignisse durchsuchen, die ein Steuerelement veröffentlicht, und diejenigen auswählen, die Sie behandeln möchten. Die IDE fügt automatisch eine leere Ereignishandlermethode und den Code zum Abonnieren des Ereignisses hinzu. Weitere Informationen hierzu finden Sie unter Gewusst wie: Abonnieren von Ereignissen und Kündigen von Ereignisabonnements (C#-Programmierhandbuch).

Übersicht über Ereignisse

Ereignisse verfügen über folgende Eigenschaften:

  • Der Herausgeber bestimmt, wann ein Ereignis ausgelöst wird; die Abonnenten bestimmen, welche Maßnahme als Reaktion auf das Ereignis ergriffen wird.

  • Ein Ereignis kann mehrere Abonnenten haben. Ein Abonnent kann mehrere Ereignisse von mehreren Herausgebern behandeln.

  • Ereignisse, die keine Abonnenten haben, werden nie ausgeführt.

  • Ereignisse dienen normalerweise zur Signalisierung von Benutzeraktionen wie das Klicken auf Schaltflächen oder Auswählen von Menüs in der grafischen Benutzeroberfläche.

  • Wenn ein Ereignis mehrere Abonnenten hat, werden die Ereignishandler synchron aufgerufen, wenn ein Ereignis ausgelöst wird. Informationen zum asynchronen Aufrufen von Ereignissen finden Sie unter Asynchrones Aufrufen von synchronen Methoden.

  • Ereignisse können verwendet werden, um Threads zu synchronisieren.

  • In der .NET Framework-Klassenbibliothek basieren Ereignisse auf dem EventHandler-Delegaten und der EventArgs-Basisklasse.

Verwandte Abschnitte

Weitere Informationen finden Sie unter folgenden Themen:

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 1.6.7.4 Ereignisse

  • 10.2.9.2 Für Ereignisse reservierte Membernamen

  • 10.8 Ereignisse

  • 13.2.3 Schnittstellenereignisse

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

Delegaten (C#-Programmierhandbuch)

EventHandler

Weitere Ressourcen

Erstellen von Ereignishandlern in Windows Forms

Multithreadprogrammierung mit dem ereignisbasierten asynchronen Muster