Element1 Funktion von Element2



  • Hallo,

    bei klick auf einen Button wird eine Funktion ausgeführt. Nun habe ich einen anderen Button der die gleiche Funktion nur mit anderen Werten ausführen soll. Ist es nun möglich diese Funktion ohne die Methode

    private void Button1(object sender, PaintEventArgs e)
            {
    ....
    
            }
    

    auf den Button zwei zu übertragen? Genau gesagt will ich kleine Kästchen anlegen, welche die Farbe wechseln. (blau, grün, gelb) Diese Kästchen sollen halt alle unterschiedlich durch anklicken ein färbbar sein. Hierfür würde ich gerne umgehen, jedes Kästchen einzeln mit Funktion anzulegen.

    Könnt ihr mir da einen Tipp gebe, in welche Richtung das geht? Habt ihr was zu lesen oder nen Stichwort?

    Gruß



  • VIVUSorg schrieb:

    Könnt ihr mir da einen Tipp gebe, in welche Richtung das geht? Habt ihr was zu lesen oder nen Stichwort?

    Anonyme Funktion, Anonyme Delegates, Lambda



  • Hallo VIVUSorg,

    du kannst allen Buttons die gleiche Methode zuordnen und dann den 'sender' auswerten, z.B.

    private void Button_Click(object sender, EventArgs e)
    {
        Button button = sender as Button;
        if (button != null)
        {
            if (button.BackColor == Color.Blue)
                button.BackColor = Color.Green;
    
            // ...       
        }
    }
    


  • Jap. Wie Th69 oder einfach in eine extra Methode auslagern und diese je nach Button mit entsprechenden Parametern aufrufen.
    🙂


Anmelden zum Antworten