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
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);

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Arbeiten mit Events in C#

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *