Arbeiten mit Events in C#

Die Codierung eines Klick-Events einer Form für eine mit Form1 bezeichnete Formklasse macht dies deutlicher (dieser Code ist in der Methode InitializeComponent im „versteckten“ Bereich des vom Windows Form Designer generierten Code zu finden):


this.Click += new System.EventHandler(this.Form1_Click);

Das diesbezügliche Framework für die Event-Methode ist:


private void Form1_Click(object sender, System.EventArgs e) {


}

Ein Event lässt sich problemlos aus einem anderen Event heraus aufrufen. Der nachstehende Code zeigt zum Beispiel eine Meldung an, wenn das Eingabe-Event von Button1 ausgelöst wird:


private void button1_Enter(object sender, System.EventArgs e) {
MessageBox.Show ("The Button's Enter event has been fired",
"C# for Newbies", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);


}

Um das Eingabe-Event von Button1 aus einem anderen Event auszulösen, muss der Methode Button1_Enter im anderen Event ein Aufruf hinzugefügt werden. Dieser Code würde in einem DoubleClick-Event der Form so aussehen:


private void Form1_DoubleClick(object sender, System.
EventArgs e) {
button1_Enter (sender, e);
}

Wenn nun auf die Form doppelgeklickt wird, erscheint mit dem Auslösen des Eingabe-Events des Buttons die in Abbildung A gezeigte Meldung.


Abbildung A: Events eignen sich hervorragend für Meldungen wie diese.

Sollte System.EventArgs nicht für die Übergabe des Events zur Verfügung stehen, da es zum Beispiel außerhalb eines Events aufgerufen wird, ist dies kein Problem. Nachstehend ist beschrieben, wie dies erstellt und eine Event-Methode aufgerufen werden kann:


System.EventArgs g = new System.EventArgs();
button1_Enter (this, g);

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

2 Tagen ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

2 Tagen ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

4 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

4 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

4 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

4 Tagen ago