Czy można utworzyć tablicę kontrolek? Czy istnieje sposób na uzyskanie indeksu kontrolki, jeśli więcej niż jedna z formantów w tablicy współużytkuje tę samą procedurę obsługi zdarzeń?C# utwórz tablicę kontrolek
5
A
Odpowiedz
7
Jest to z pewnością możliwe do zrobienia. Udostępnianie obsługi zdarzeń jest dość łatwe do zrobienia w tym przypadku, ponieważ Button
, które podniosło zdarzenie, jest wysyłane jako część argumentów zdarzeń. Będzie to wartość sender
i mogą być oddane z powrotem do Button
Oto przykładowy kod
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
to rozwiązanie działa dla mnie. dokładnie tego szukałem. – Kevin
4
podstawie Kevins komentarza:
foreach(Button b in MyForm.Controls.OfType<Button>())
{
b.Click += Button_Click;
}
void Button_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
}
Powiązane problemy
- 1. Utwórz tablicę wszystkich zmiennych GET.
- 2. Utwórz tablicę kontrolną w kodzie
- 3. Utwórz tablicę w szablonie smarty?
- 4. Utwórz tablicę z użyciem pusty ciąg% wag []
- 5. Utwórz tablicę w funkcji w C++ bez zmiennej globalnej
- 6. Utwórz zbyt dużą tablicę w C++, jak rozwiązać?
- 7. C# WinForm: Efektywnie wyświetla wiele kontrolek
- 8. Utwórz tablicę PHP z kolumny MySQL
- 9. Utwórz tablicę z sekwencji liczb w bash
- 10. Utwórz tablicę 2D Numpy ze współrzędnych
- 11. Utwórz tablicę znaczników Google Maps V2
- 12. Utwórz pustą tablicę json z jsoncpp
- 13. Utwórz tablicę unikatowych kombinacji z tablicy łańcuchów
- 14. Utwórz monotoniczną tablicę bez pętli Pythona.
- 15. utwórz tablicę z zapytania mysql php
- 16. Utwórz tablicę z równomiernie rozmieszczonymi wartościami
- 17. Utwórz tablicę miesięcy między dwiema datami
- 18. Lokalizowanie kontrolek JavaFx
- 19. Wyłączyć działanie konkretnych kontrolek?
- 20. Zmiana rozmiaru kontrolek DevExpress
- 21. Wiele kontrolek GUI wskazujących różne stany
- 22. C++ Utwórz parser
- 23. C# Utwórz obraz gradientowy
- 24. wypełnij tablicę w C#
- 25. C# Prześlij całą tablicę?
- 26. MS Chart Formatowanie kontrolek osi
- 27. Bezpłatna biblioteka kontrolek Windows .NET?
- 28. Zmiana rozmiaru kontrolek w MFC
- 29. Utwórz niezarządzanego obiektu C++ w c #
- 30. Utwórz sesję w języku C#
Proszę definiują komponenty. Może próbka kodu pomogłaby. –
na przykład: Chcę mieć 30 przycisków w formularzu, które współdzielą jedno zdarzenie kliknięcia. – Kevin
Parametrem nadawcy zdarzenia kliknięcia będzie przycisk, który wygenerował kliknięcie, więc uzyskanie indeksu będzie miało wartość "Array.IndexOf (buttonArray, sender) ' – shf301