c# - 如何使用控件数组在 C# 中获取给定对象的数组索引?

标签 c# .net controls event-handling control-array

我正在向表单动态添加一堆控件。每个控件调用相同的方法,在该方法中我需要知道执行操作的控件的数组索引。

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/

相关文章:

c# - Invoke() 正在阻塞

c# - 在 C# 中,如何使负号出现在从右到左框中的数字左侧?

c# - 如何使用 c# ClosedXML 使用方法 List(String list, Boolean inCellDropdown) 在 Excel 中设置下拉验证

java - 您可以像在 .NET 中那样在 Java 中创建未定义的枚举值吗?

c# - Outlook 加载项属性错误

.net - 存在哪些 ASP.Net 替代框架?

c# - 连接到 FTP 端口 21 时 SSH.NET 出现 "Socket read operation has timed out"异常

java - 在 android 上发送媒体操作

html - 如何让 "image-pointing"箭头出现在滑动轮播中,如图所示?

c# - 当我扩展应用程序时,如何防止我的 winforms 控件重叠?