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# - 自定义 TabControl 以关闭单个选项卡

c# - 泛型约束内的泛型类型参数

C#.Net面试从一个类创建一个对象

c# - 在 C# 中生成运行哈希(或校验和)?

javascript - .NET 的 Enumerable.Select 是否有对应的 javascript/jQuery?

.net - 需要在 asp.net 中实现雅虎注册表单名称字段的想法

c# - BufferedWaveProvider 的问题

c# - Web 应用程序模块化设计实践

c# - 预烘焙 MS 代码的 Visual Studio 2010 项目设置

java - 使用其图形在另一个内部绘制控件