Có thể tạo một mảng điều khiển không? Có cách nào để có được chỉ số của một điều khiển nếu nhiều hơn một trong các điều khiển trong mảng chia sẻ xử lý sự kiện tương tự?C# tạo một mảng các điều khiển
5
A
Trả lời
7
Điều này chắc chắn là có thể làm được. Việc chia sẻ trình xử lý sự kiện khá dễ thực hiện trong trường hợp này bởi vì Button
làm tăng sự kiện được gửi như một phần của sự kiện args. Nó sẽ là giá trị sender
và có thể được đúc lại một Button
Dưới đây là một số mẫu mã
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
giải pháp này phù hợp với tôi. đó chính xác là những gì tôi đang tìm kiếm. – Kevin
4
Dựa trên Kevins bình luận:
foreach(Button b in MyForm.Controls.OfType<Button>())
{
b.Click += Button_Click;
}
void Button_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
}
Các vấn đề liên quan
- 1. cách cập nhật các mục trong một mảng/danh sách với trình điều khiển mongo C#?
- 2. C# Tạo một mảng của mảng
- 3. Tạo các chức năng điều khiển chung
- 4. Truyền một mảng int tới Bộ điều khiển MVC
- 5. C# Điều hướng đến các neo trong điều khiển WebBrowser
- 6. Tạo điều khiển TabPage tùy chỉnh trong C#
- 7. Khởi tạo các mảng động C
- 8. Cuộn bảng điều khiển trung tâm trong điều khiển C#
- 9. Khởi tạo các mảng trong C++
- 10. Mảng tên miền điều khiển ASP.Net MVC
- 11. Tạo một mảng JSON trong C#
- 12. C - khởi tạo mảng các cấu trúc
- 13. lỗi asp.net tạo điều khiển
- 14. ASP.NET MVC: Cách đăng một mảng các hộp văn bản đến một bộ điều khiển
- 15. Tự động tạo một mảng Kiểu C#
- 16. Không thể tạo một mảng trong C#
- 17. Có thể tạo mẫu điều khiển tab WPF trông giống như một điều khiển tab không?
- 18. Tạo Bảng điều khiển "Lệnh"
- 19. C# listview - nhúng điều khiển
- 20. Bàn điều khiển C#, Console.Xóa sự cố
- 21. Thứ tự các điều khiển trong thuộc tính Điều khiển của biểu mẫu trong C#
- 22. Tự động tạo một mảng trong C#
- 23. tạo một mảng cấu trúc trong C++
- 24. Điều khiển tab dọc C#
- 25. C# WPF minh bạch trên các điều khiển Winform
- 26. Điều khiển hiển thị trên một bảng điều khiển khác
- 27. C++: danh sách khởi tạo hàm tạo cho một mảng?
- 28. C++ cho vi điều khiển 8051?
- 29. Thêm mảng điều khiển động vào biểu mẫu
- 30. Chèn điều khiển trước một điều khiển khác
Xin vui lòng, xác định các thành phần. Có lẽ một mẫu mã sẽ giúp đỡ. Ví dụ: –
: Tôi muốn có 30 nút trên biểu mẫu chia sẻ cùng một sự kiện nhấp chuột – Kevin
Thông số người gửi của sự kiện nhấp chuột sẽ là nút tạo ra lần nhấp, vì vậy, chỉ mục sẽ là 'Array.IndexOf (buttonArray, người gửi) ' – shf301