Entwickler-Ecke

WinForms - Zwei identische Buttons


P584 - Do 25.02.10 19:16
Titel: Zwei identische Buttons
Wenn ich zwei Buttons habe, die genau das selbe machen, wie kann ich das einfacher schreiben, ohne dass ich einfach den gesamten Text vom einen Button in den anderen reinkopiere?


Christian S. - Do 25.02.10 19:26

Du lagerst die Funktion in eine Methode aus, welche Du von den beiden Click-Handlern der Buttons aus aufrufst.


P584 - Do 25.02.10 19:34

Könntest du mir bitte das etwas genauer mit Code erklären? Tut mir leid, bin noch Anfänger.


Christian S. - Do 25.02.10 19:55

Welcher Punkt ist denn unklar?


Namenlosnameless - Do 25.02.10 20:28

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Welcher Punkt ist denn unklar?


ich schätze mal der Teil mit dem Auslagern.

Ich versuchmal dir das zu erklären.

Ich denke mal as du weißt was eine Methode ist und wie man sie aufruft, oder??
Du schreibst eine Methode und rufst bei beiden Klick-Events diese Mothode auf.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
 private void button1_Click(object sender, EventArgs e)
        {
            ich_rufe_mich_für_beide_buttons_auf();
            //Aufruf der Methode
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ich_rufe_mich_für_beide_buttons_auf();
            // aufruf der Methode
        }
        private void ich_rufe_mich_für_beide_buttons_auf()
        {
//hier her sprigt das Programm!
            //blalbalablabla
        }


danielf - Do 25.02.10 22:00

Hallo,

man kann auch gleich die Events auf die gleiche Methode registrieren.

C#-Quelltext
1:
2:
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);

bzw. im Editor.

Gruß Daniel


P584 - Do 25.02.10 22:43

Vielen Dank Euch! Funktioniert.


Namenlosnameless - Fr 26.02.10 18:32

user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:


man kann auch gleich die Events auf die gleiche Methode registrieren.

C#-Quelltext
1:
2:
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);

bzw. im Editor.



ja klar aber ich weiß nicht ob das für jemanden der erst ganz am beginn ist schon geeignet ist.
Es führen wie immer viele Wege nach Rom.