对于循环增加文本框 ID. C# 窗口窗体



我有 100 个textBoxes,我想使用 for 循环为所有它们设置一个值。

for(int i=0; i<100; i++)
{
textBox1.AppendText("a");
}

但是textBoxID必须动态变化,如textBox1textBox2textBox3等...

我该怎么做?

试试这段代码:

for (int i = 1; i <= numberOfTextBoxes; i++)
{
var tb = this.Controls.Find("textBox" + i, true).FirstOrDefault();
if(tb != null)
tb.Text = "hello " + i;
}

有关Find方法的更多信息。

将所有文本框放在一个列表中。

或者将它们放在控件中,然后查询它们。使用文本框的类型调用此方法。

public IEnumerable<Control> GetAll(Control control,Type type)
{
var controls = control.Controls.Cast<Control>();
return controls.SelectMany(ctrl => GetAll(ctrl,type))
.Concat(controls)
.Where(c => c.GetType() == type);
}

编辑:如评论中所述,您也可以将表单添加到此方法。 或者直接从窗体查询控件。

最新更新