Allgemeines ButtonClick Event
-
Hallo.
Ich wollte fragen, ob es so eine Art allgemeines Button Klick Event gibt.
Zb Wenn ich auf einen von vielen Buttons drücke, dass zB die Farbe rot wird. Das soll aber bei jedem Button passieren wenn ich klicke, aber muss ich wirklich(bei 100 Buttons^^) alles beim ButtonKlick Event be jedem Button machen?
Mousclick Event reicht bei mir nicht aus da ich auch Lehrflächen habe^^Bin für jeden Vorschlag zu haben.
mfg
Edit: Es soll immer der Button angesprochen werden der geklickt wird^^ Und immer einzeln.
-
Du kannst einen EvenHandler für mehrere Buttons verwendet. Der Button der das Event ausgelöst hat wird dir als
sender
übergeben. Du musst dann nur noch nach Button casten.
-
Du meinst Leerflächen ;).
Aber zum Thema, was du machen kannst ist die anderen Events der Buttons einfach mit an dem Haupteventhandler von Button 1 mit anzumelden.Dann werde alle Events durchlaufen und ausgeführt.
-
Aber was für einen Eventhandler soll ich dafür verwenden?
Gibts dazu irgendein Tutorial oder einen Begriff, nach dem man in Google suchen kann?
mfg
Edit: Habe deinen Beitrag gerade gelesen.
Aber wenn ich alle alle KlickEvents von den Buttons dem Click(?)Event von Button1 schreibe, dann passiert das doch nur, wenn Button1 auch gedrückt wird, oder?
-
Also du hast ein HauptKlick Event was unegfähr so ausschaut
bin mir nicht sicher wie genau aber im allgemeinen ungefähr so:this.button1.Click +=new ButtonClickEventHandler(button_click1);//dsa ist die funktion wo deine hauptfunktionalität drinnr steht.
So sieht es im Designer.cs aus.
Wenn du nun willst das der click von Button 2 genau das selbe ausführt wie der klick von button eins,übergibst du der EventHandlerdelegate nicht eine neue click-methode sonder einfach die von button 1
so hier:this.button2.Click +=new ButtonClickEventHandler(button_click1);
Nun hast du für Button 1 und Button 2 die selbe Funktionalität.Oder habe ich die falsch verstanden?
-
Du hast es richtig verstanden.
Nun kann ich mit allen Buttons zB Button1 färben. Nun möchte ich aber das immer der jeweilige Button der gedrückt wird ,gefärbt wird.
Geht das auch irgendwie?
mfg
-
O.o schrieb:
Der Button der das Event ausgelöst hat wird dir als
sender
übergeben. Du musst dann nur noch nach Button casten.
-
Wandernder Mongole schrieb:
Gibts dazu irgendein Tutorial oder einen Begriff, nach dem man in Google suchen kann
Kommt zwar Begriff sender vertraut vor, kann aber imo (noch)nix damit anfangen....
mfg
-
Na wieso, du hast jetzt für jeden Button eine Routine angemeldet die einfach nur die Farbe ändert. Deine button_click Methode könnte zum beispiel so aussehen
private void button_click(object sender,EventArgs e) { Button button = (Button)sender; button.ForeColor = Color.Red; }
So und nun sollte spezifisch der Button eingefärbt werden der auch geklickt hatte.Aber ich glaube das hat schon "O.o" so ähnlich erläutert. Probier es mal aus ob es dem entspricht wie du es dir vorstellst.
-
Danke, das war genau das, was ich gesucht habe^^
mfg