Ereignisse (C#-Programmierhandbuch)Events (C# Programming Guide)

Ereignisse aktivieren eine Klasse oder ein Objekt, um Informationen über Aktionen von Interesse an andere Klassen oder Objekte zu übermitteln.Events enable a class or object to notify other classes or objects when something of interest occurs. 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.The class that sends (or raises) the event is called the publisher and the classes that receive (or handle) the event are called subscribers.

In einer typischen C#-Windows Forms oder Web-Anwendung abonnieren Sie Ereignisse, die von Steuerelementen wie Schaltflächen und Listenfelder ausgelöst werden.In a typical C# Windows Forms or Web application, you subscribe to events raised by controls such as buttons and list boxes. Sie können die Visual C#Visual C# -integrierte Entwicklungsumgebung (IDE) zum Durchsuchen der Ereignisse verwenden, die ein Steuerelement auslöst, und diejenigen wählen, die Sie behandeln möchten.You can use the Visual C#Visual C# integrated development environment (IDE) to browse the events that a control publishes and select the ones that you want to handle. Die IDE fügt automatisch eine leere Ereignishandlermethode und den Code zum Abonnieren des Ereignisses hinzu.The IDE automatically adds an empty event handler method and the code to subscribe to the event. Weitere Informationen finden Sie unter Vorgehensweise: Abonnieren von Ereignissen und Kündigen von Ereignisabonnements.For more information, see How to: Subscribe to and Unsubscribe from Events.

Übersicht über EreignisseEvents Overview

Ereignisse verfügen über folgende Eigenschaften:Events have the following properties:

  • Der Herausgeber wird bestimmt, wenn ein Ereignis ausgelöst wird. Die Abonnenten bestimmen, welche Aktion als Reaktion auf das Ereignis ausgeführt wird.The publisher determines when an event is raised; the subscribers determine what action is taken in response to the event.

  • Ein Ereignis kann mehrere Abonnenten haben.An event can have multiple subscribers. Ein Abonnent kann mehrere Ereignisse von mehreren Herausgebern behandeln.A subscriber can handle multiple events from multiple publishers.

  • Ereignisse, die keine Abonnenten haben, werden nie ausgelöst.Events that have no subscribers are never raised.

  • Ereignisse werden in der Regel verwendet, um Benutzeraktionen wie Mausklicks oder Menüauswahlen in GUI-Schnittstellen zu signalisieren.Events are typically used to signal user actions such as button clicks or menu selections in graphical user interfaces.

  • Wenn ein Ereignis mehrere Abonnenten hat, werden die Ereignishandler synchron aufgerufen, wenn ein Ereignis ausgelöst wird.When an event has multiple subscribers, the event handlers are invoked synchronously when an event is raised. Informationen zum asynchronen Aufrufen von Ereignissen finden Sie unter Calling Synchronous Methods Asynchronously.To invoke events asynchronously, see Calling Synchronous Methods Asynchronously.

  • In der .NET Framework.NET Framework -Klassenbibliothek basieren Ereignisse auf dem EventHandler -Delegaten und der EventArgs -Basisklasse.In the .NET Framework.NET Framework class library, events are based on the EventHandler delegate and the EventArgs base class.

Weitere Informationen finden Sie unter:For more information, see:

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Delegaten, Ereignisse und Lambda-Ausdrücke im C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmersDelegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegaten und Ereignisse in Learning C# 3.0: Master the fundamentals of C# 3.0Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

Siehe auchSee Also

EventHandler
C#-ProgrammierhandbuchC# Programming Guide
DelegatenDelegates
Erstellen von Ereignishandlern in Windows FormsCreating Event Handlers in Windows Forms
Multithreadprogrammierung mit dem ereignisbasierten asynchronen MusterMultithreaded Programming with the Event-based Asynchronous Pattern