是否可以创建一个控件数组?如果数组中的多个控件共享同一个事件处理程序,是否有办法获取控件的索引?
最佳答案
这当然是可以做到的。在这种情况下,共享事件处理程序相当容易,因为引发事件的 Button
是作为事件参数的一部分发送的。它将是 sender
值,可以转换回 Button
这里是一些示例代码
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;
...
}
}
关于C#创建控件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168363/