Entwickler-Ecke

Basistechnologien - Eine Funktion für mehrere Buttons erstellen


dinazavric - Do 12.05.11 10:45
Titel: Eine Funktion für mehrere Buttons erstellen
Hab wieder mal eine Anfänger-Frage. Ich habe viele Buttons, die beim Clicken Änliches tun. Muss ich für jeden Button das gleiche erstellen oder geht es auch anders? Danke!


Christian S. - Do 12.05.11 10:52

Hallo!

Das kommt drauf an, was Du mit "ähnlich" meinst. Generell kannst Du den Click-Events von allen Buttons dieselbe Methode als Handler verpassen (dazu nicht Doppelklick auf den Button machen, sondern Button auswählen und im Eigenschaftenfenster die Ereignisse anzeigen. Dort dann die Methode bei Click wählen).

Grüße
Christian


dinazavric - Do 12.05.11 10:59

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Hallo!

Das kommt drauf an, was Du mit "ähnlich" meinst. Generell kannst Du den Click-Events von allen Buttons dieselbe Methode als Handler verpassen (dazu nicht Doppelklick auf den Button machen, sondern Button auswählen und im Eigenschaftenfenster die Ereignisse anzeigen. Dort dann die Methode bei Click wählen).

Grüße
Christian


Mit "ähnlich" meine ich, dass es sich dabei nur die Indizies eines Arrays unterscheiden, ansonsten ist alles gleich...


jaenicke - Do 12.05.11 12:11

Dann kannst du das ja so machen. Welcher Button geklickt wurde, bekommst du als Parameter übergeben.


dinazavric - Fr 13.05.11 10:54

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dann kannst du das ja so machen. Welcher Button geklickt wurde, bekommst du als Parameter übergeben.


und wie macht man das?


Delete - Fr 13.05.11 11:02

Der Auslöser der Ereignisbehandlungsroutine steht im Sender Parameter.


jaenicke - Fr 13.05.11 11:03


C#-Quelltext
1:
2:
    if (sender == myButton)
        MessageBox.Show("Das kam von myButton");


dinazavric - Fr 13.05.11 11:06

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Der Auslöser der Ereignisbehandlungsroutine steht im Sender Parameter.


muss ich aber vorher ein EventHandler für jeden Button erstellen? Ich meine sowas wie "private void myButton_Click(object sender, EventArgs e)"


jaenicke - Fr 13.05.11 11:48

Siehe oben, du brauchst nur einen EventHandler für alle Buttons:
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Generell kannst Du den Click-Events von allen Buttons dieselbe Methode als Handler verpassen (dazu nicht Doppelklick auf den Button machen, sondern Button auswählen und im Eigenschaftenfenster die Ereignisse anzeigen. Dort dann die Methode bei Click wählen).


dinazavric - Fr 13.05.11 11:50

Achso... das habe ich übersehen. Danke!