Arbeiten mit Events in C#

Es ist wichtig zu beachten, dass eine Event-Methode mehrere Events abwickeln kann. Dabei müssen die Events nicht unbedingt von demselben Objekt ausgelöst werden. Auf diese Weise lässt sich die Verarbeitung einer bestimmten Reihe von Events mühelos zusammenfassen – z.B. alle Klick-Events für eine Reihe verschiedener Steuerelemente. Der Senderparameter in der Event-Methode kann genutzt werden um festzustellen, welches Objekt das Event ausgelöst hat, und das Event entsprechend abwickeln. (Die Nutzung des Senderparameters auf diese Weise kann Type Casting erfordern, was in künftigen Artikeln näher erläutert wird.)

Das Events-Feld kann auch dazu benutzt werden, um die auf ein bestimmtes Event antwortende Methode zu benennen. Hierzu wird der gewünschte Name in der rechten Spalte wie in Abbildung D gezeigt eingegeben


Abbildung D: Die vorgegebenen Namen von Events können überschrieben werden.

Wird das SizeChanged-Event der Form als IcanNameThisWhatIWant bezeichnet, wird das folgende Gerüst für das SizeChanged-Event generiert:


this.SizeChanged += new System.EventHandler
(this.ICanNameThisWhatIWant);
...
private void ICanNameThisWhatIWant(object sender,
System.EventArgs e) {
}

Auch hier lässt sich Code, der eine Meldung anzeigt (oder einen anderen Task ausführt), der Event-Methode einfach hinzufügen:


private void ICanNameThisWhatIWant(object sender,
System.EventArgs e) {
MessageBox.Show ("Named my way!",
"C# für Einsteiger", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}

Wird das Event nach Installation dieses Codes nun durch ein SizeChanged-Event ausgelöst, wird der Code in der IcanNameThisWhatIWant-Methode ausgeführt und die gewünschte Meldung angezeigt.

Einblick in das Innenleben von Events

In diesem Artikel wurde der von der Entwicklungsumgebung generierte Code hervorgehoben. Weshalb eigentlich? Man sollte den Code, auf dem Events basieren, verstehen. Die VDE-Entwicklungsumgebung bietet nicht gerade viel auf diesem Gebiet, und oftmals ist es einfacher, die Registerkarte Events zu ignorieren und mit Code zu arbeiten. Warum sich mit der Autogenerierung herumschlagen, wenn man die Grundlagen des Codes beherrscht?

All dies ist ziemlich nützlich, wenn man mit den üblichen Events auskommt, die mit Objekten wie z.B. Forms und Buttons mitgeliefert werden. Was aber, wenn man Klassen mit eigenen Events erstellen möchte? Wie werden maßgeschneiderte Events ausgelöst? Wo ist der Code für diese Events unterzubringen? Die Antworten auf diese Fragen sind im zweiten Teil dieser Serie zu finden.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

1 Woche ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

1 Woche ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

1 Woche ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

1 Woche ago

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

1 Woche ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

1 Woche ago