我在C#中的winform(例如10)上有一些组合框,名为:comboBox1,coboBox2和comboBoxN。如何在for循环中访问所有这些:
for(int i = 0; i < 10; i++)
{
comboBox[i].text = "Hello world";
}
答案 0 :(得分:2)
您可以使用OfType
方法
var comboBoxes = this.Controls
.OfType<ComboBox>()
.Where(x => x.Name.StartsWith("comboBox"));
foreach(var cmbBox in comboBoxes)
{
cmbBox.Text = "Hello world";
}
答案 1 :(得分:2)
您可以通过这种形式访问所有组合框(假设this
是表单):
List<ComboBox> comboBoxList = this.Controls.OfType<ComboBox>();
然后你只需要迭代它们
foreach (ComboBox comboBox in comboBoxList)
{
comboBox.Text = "Hello world!";
}
答案 2 :(得分:1)
表单有一个Controls
property,它返回所有控件的集合以及can be indexed by the name of the control:
for(int i = 0; i < 10; i++)
{
var comboBox = (ComboBox)this.Controls["comboBox" + i.ToString()];
comboBox.text = "Hello world";
}