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:
Gewusst wie: Auslösen von Basisklassenereignissen in abgeleiteten Klassen (C#-Programmierhandbuch)
Gewusst wie: Implementieren von Schnittstellenereignissen (C#-Programmierhandbuch)
Gewusst wie: Implementieren benutzerdefinierter Ereignisaccessoren (C#-Programmierhandbuch)
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
Referenz
Delegaten (C#-Programmierhandbuch)
Weitere Ressourcen
Erstellen von Ereignishandlern in Windows Forms
Multithreadprogrammierung mit dem ereignisbasierten asynchronen Muster