Ist es möglich, ein Array von Steuerelementen zu erstellen? Gibt es eine Möglichkeit, den Index eines Steuerelements abzurufen, wenn mehrere Steuerelemente im Array denselben Ereignishandler verwenden?C# ein Array von Steuerelementen erstellen
5
A
Antwort
7
Dies ist sicherlich möglich zu tun. Das Teilen der Ereignisbehandlungsroutine ist in diesem Fall ziemlich einfach, weil die Button
, die das Ereignis ausgelöst hat, als Teil der Ereignisargumente gesendet wird. Es wird der sender
Wert sein und Button
auf einen zurückgeworfen
Hier werden kann, ist ein Beispielcode
class Form1 : Form {
private Button[] _buttons;
public Form1(int count) {
_buttons = new Button[count];
for (int i = 0; i < count; i++) {
var b = new Button();
b.Text = "Button" + i.ToString()
b.Click += new EventHandler(OnButtonClick);
_buttons[i] = b;
}
}
private void OnButtonClick(object sender, EventArgs e) {
var whichButton = (Button)sender;
...
}
}
+0
diese Lösung funktioniert für mich. Es ist genau das, wonach ich gesucht habe. – Kevin
4
Basierend auf Kevins Kommentar:
foreach(Button b in MyForm.Controls.OfType<Button>())
{
b.Click += Button_Click;
}
void Button_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
}
Verwandte Themen
- 1. C# ein Array von Arrays erstellen
- 2. vb6 zu vb.net: Array von Steuerelementen
- 3. Erstellen von COM-Komponenten und ActiveX-Steuerelementen
- 4. C++ Array von Widgets erstellen
- 5. Entfernen von Steuerelementen aus einem Formular C#
- 6. Erstellen eines Array von Threads in C#
- 7. MVVM Austauschen von Steuerelementen
- 8. Erstellen einer ungeordneten Liste mit ASP.net-Steuerelementen?
- 9. ASP.Net MVC: Erstellen von benutzerdefinierten Steuerelementen Art von chaotisch?
- 10. Bewährte Methoden zum Erstellen von benutzerdefinierten Steuerelementen für Composite WPF
- 11. Wie ein numpy Rekord Array von C
- 12. Generische Funktion zum Erstellen von Steuerelementen zur Laufzeit
- 13. Von Login-Steuerelementen betroffen
- 14. Tricky: Array von Steuerelementen dynamisch erstellt, die Probleme verursachen
- 15. Ein Array von Wörterbuchelementen in YAML erstellen?
- 16. ein Array von mehreren $ Erstellen .get
- 17. Erstellen Sie ein Array von Referenzen
- 18. Erstellen Sie ein konstantes Array von Strings
- 19. Mit dynamisch erstellten Steuerelementen in C#
- 20. Entwickeln von ActiveX-Steuerelementen
- 21. dynamisch ein Array von Typ in C#
- 22. Verwenden von .Location zum Hinzufügen von Steuerelementen in C# ASP.Net
- 23. Ein Array generischer Stacks erstellen
- 24. Wie auf Daten von Steuerelementen innerhalb von Benutzersteuerung in C#
- 25. Wie kann ich ein Array von Array in cocos2d erstellen?
- 26. Dynamische Top-down-Liste von Steuerelementen in WindowsForms und C#?
- 27. C#: Mit einem generischen um ein Zeiger-Array zu erstellen
- 28. Erstellen Sie ein Fraction Array
- 29. Erstellen Sie ein Array mit Strukturen in C
- 30. deaktivieren Klicken von Steuerelementen
Bitte, Komponenten definieren. Vielleicht würde ein Codebeispiel helfen. –
Beispiel: Ich möchte 30 Schaltflächen in einem Formular haben, die das gleiche Klickereignis haben – Kevin
Der sender-Parameter des click-Ereignisses ist die Schaltfläche, die den Klick generiert hat. Der Index würde also lauten: Array.IndexOf (buttonArray, sender)) ' – shf301