我正在向表单动态添加一堆控件。每个控件调用相同的方法,在该方法中我需要知道执行操作的控件的数组索引。
CheckBox[] myCB = new CheckBox[100];
int i;
for (i = 0; i < 100; i++)
{
myCB[i] = new CheckBox();
myCB[i].Text = "Clicky!";
myCB[i].Click += new System.EventHandler(dynamicbutton_Click);
tableLayoutPanel1.Controls.Add(myCB[i]);
}
private void dynamicbutton_Click(Object sender, System.EventArgs e)
{
label1.Text = sender.???array index property???.ToString();
}
因此,如果我单击 myCB[42]
,label1
将读取“42” 当然,如果有更简单的方法来处理动态控件,我将不胜感激。
最佳答案
private void dynamicbutton_Click(Object sender, System.EventArgs e)
{
label1.Text = Array.IndexOf(myCB, (CheckBox)sender).ToString();
}
关于c# - 如何使用控件数组在 C# 中获取给定对象的数组索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/971521/