Faby Geschrieben 6. Oktober 2011 Geschrieben 6. Oktober 2011 Hallo, habe zwei Fragen zur Eventsteuerung, die nach Recherche in der MSDN Library noch offen stehen. Erzeugen des Steuerlements: private Button button; Delegate: public delegate void Eventhandler(object sender, EventArgs e); Eventhandlermethode: void Button_Click(object sender, Eventargs e) {...} Eventhandlermethode dem Click-Ereignis von Button hinzufügen button.Click += new Eventhandler(this.Button_Click); Das sind Teile aus der MSDN Library. Leider fehlt mir der Zusammenhang zur Klasse Button. Wie wird hier der Aufruf eines Events in der Klasse Button realisiert und wie wird die Verbindung durch das "delegate" zur Klasse geschaffen? Es muss sicherlich noch irgendeine Zeile, die das Eventhandler-Objekt mit einer Methode der Button-Klasse verbindet, da ich normalerweise bei delegates so etwas vorfinde: Del handler = DelegateMethod; handler (Übergabeparameter); //Del=delegate-Name Ich danke im Voraus!
Gast Geschrieben 6. Oktober 2011 Geschrieben 6. Oktober 2011 #geklärt, kann gelöscht werden. Alte Forensitte: selbstgefundene Lösungen dürfen gerne genannt werden.
Faby Geschrieben 6. Oktober 2011 Autor Geschrieben 6. Oktober 2011 Alte Forensitte: selbstgefundene Lösungen dürfen gerne genannt werden. Die Zeile button.Click += new Eventhandler(this.Button_Click); kann verständlicher(für Unerfahrene) auch so geschrieben werden: Eventhandler ehandler = new Eventhandler(this.Button_Click); button.Click += ehandler; Es wird also dem Ereignis ein Eventhandler-Objekt zugewiesen. Bei einem Event werden somit alle Methoden im Eventhandler-Objekt ausgeführt. Die verkürzte Schreibweise hat mich als Event-Neuling verwirrt.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden