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

So günstig & effizient war Content Produktion noch nie: Neues Content System erobert deutschen Markt

Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…

3 Tagen ago

Lenovo übertrifft die Erwartungen und hebt Prognose an

KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…

4 Tagen ago

Bedrohungsakteure betten Malware in macOS-Flutter-Anwendungen ein

Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…

4 Tagen ago

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

1 Woche ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

1 Woche ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

1 Woche ago