Ereignisse (C#-Programmierhandbuch)
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 Abonnentenbezeichnet.
In einer typischen C#-Windows Forms oder Web-Anwendung abonnieren Sie Ereignisse, die von Steuerelementen wie Schaltflächen und Listenfelder ausgelöst werden. Sie können die integrierte Entwicklungsumgebung (IDE) von Visual C# zum Durchsuchen der Ereignisse verwenden, die ein Steuerelement auslöst, und diejenigen wählen, die Sie behandeln möchten. Mithilfe der IDE können eine leere Ereignishandlermethode und der Code ganz einfach automatisch zu den Abonnenten des Ereignisses hinzugefügt werden. Weitere Informationen finden Sie unter Abonnieren von Ereignissen und Kündigen von Ereignisabonnements.
Übersicht über Ereignisse
Ereignisse verfügen über folgende Eigenschaften:
Der Herausgeber wird bestimmt, wenn ein Ereignis ausgelöst wird. Die Abonnenten bestimmen, welche Aktion als Reaktion auf das Ereignis ausgeführt wird.
Ein Ereignis kann mehrere Abonnenten haben. Ein Abonnent kann mehrere Ereignisse von mehreren Herausgebern behandeln.
Ereignisse, die keine Abonnenten haben, werden nie ausgelöst.
Ereignisse werden in der Regel verwendet, um Benutzeraktionen wie Mausklicks oder Menüauswahlen in GUI-Schnittstellen zu signalisieren.
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.
In der .NET-Klassenbibliothek basieren Ereignisse auf dem Delegaten EventHandler und der Basisklasse EventArgs.
Verwandte Abschnitte
Weitere Informationen finden Sie unter:
Abonnieren von Ereignissen und Kündigen von Ereignisabonnements
Veröffentlichen von Ereignissen, die den .NET-Richtlinien entsprechen
Auslösen von Basisklassenereignissen in abgeleiteten Klassen
C#-Programmiersprachenspezifikation
Weitere Informationen erhalten Sie unter Ereignisse in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Enthaltene Buchkapitel
Delegates, Events, and Lambda Expressions (Delegaten, Ereignisse und Lambda-Ausdrücke) in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers (C# 3.0-Cookbook, 3. Auflage: Mehr als 250 Lösungen für C# 3.0-Programmierer)
Delegaten und Ereignisse in C# 3.0 lernen: Grundlagen von C# 3.0