Hinzufügen von Arrays in C# - Schaltfläche Klicken Sie in code in Laufzeit
Auf die Schaltfläche erstellen und das click-Ereignis im Lauf der Zeit, die ich benutze:
Button b = new Button();
b.Name = "btn1";
b.Click += btn1_Click;
Aber jetzt habe ich ein array mit Schaltflächen zu erstellen, die im Lauf der Zeit; wie stellen Sie so jede Taste Ereignis - ich kann nicht interpoliert werden, weil es kein string.
Button[] b = new Button(Count);
for (int i=0; i < Count; i++)
{
b[i] = new Button();
b[i].Name = "btn" + i;
b[i].Click += ??????
}
was soll ich tun "?????"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie binden alle Tasten auf der gleichen Veranstaltung, so setzen Sie die Zeile wie
b[i].Click += button_Click;
.Dann innerhalb der
button_Click
Veranstaltung, die Sie unterscheiden können zwischen den Tasten, und die richtigen Maßnahmen ergreifen.Beispiel:
Option 1:
Können Sie eine lambda-Funktion, und erstellen Sie die handler basiert auf den Tasten index in das array wie dieses:
Option 2:
Übergeben Sie eine anonyme Delegaten:
Option 3:
Können Sie eine handler-Funktion:
Es hängt davon ab, was Sie machen wollen! Wenn Sie wollen, um die gleiche Methode aufgerufen, für alle Klicks, dies zu tun:
Wenn Sie möchten, etwas anderes zu machen, für jeden button, z.B. je nach index können Sie etwas wie das hier tun: