c# - 在 c# Windows 窗体中通过字符串引用组合框名称时将项目添加到组合框

标签 c# .net winforms

一直在上下寻找如何做到这一点的答案!我基本上有 26 个名为 comboBox1 - comboBox26 的组合框,并且想使用 for 循环将项目添加到每个框,因此我需要将 comboBox 称为字符串。有点不好解释,这是我目前的代码;

for (int n = 1; n <= 26; n++)
{
      this.["comboBox"].Text.AddRange(new string[] 
             {"First Item", "second item", "third", "fourth", "fifth"}); 
}

因此在循环之后,所有 26 个组合框都应填充该字符串数组。这和我尝试过的其他所有内容都会引发错误并且似乎无法找到答案,任何帮助都会很棒!

谢谢

最佳答案

使用controls.Find:

for (int n = 1; n <= 26; n++)
{
    ComboBox c = Controls.Find("comboBox_"+n.ToString(),true)[0] as ComboBox;
    c.Items.AddRange(new string[] {"First Item", "second item", "third", "fourth", "fifth"});
}

假设您已将组合框命名为 comboBox_0comboBox_25

关于c# - 在 c# Windows 窗体中通过字符串引用组合框名称时将项目添加到组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39645541/

相关文章:

c# - MS Test 是否提供默认值等于比较?

c# - 在选择中使用 PredicateBuilder

winforms - 无法捕获 FormClosing 中抛出的异常

c# - 如何同步两个多行文本框的滚动?

c# - 使用VSTO读取Excel中的ActiveCell内容

c# - 如何将数据序列化为缩进的json

c# - 可调整大小的窗口上的框架应显示滚动条

c# - 具有多级相关表的数据集

c# - 如何向 IEnumerable 添加一行

c# - EF 6 从没有导航属性的其他表中选择