通过for循环迭代文本框

Lih*_*ini 2 c# textbox for-loop winforms

假设我有10个文本框,我想将相同的文本放入每个文本框中.我不想写textBoxNum. Text = "hello!"十次所以我可能写这样的东西:

for(int i=1; i<=10; i++)
{
    textBox + i. Text = "hello!";
}
Run Code Online (Sandbox Code Playgroud)

显然,它不起作用.

如何通过for循环完成?

Ant*_*ram 6

您需要将所有文本框加载到列表或数组结构中,这将允许您迭代它.

TextBox[] boxes = { tb1, tb2, tb3, ... };
Run Code Online (Sandbox Code Playgroud)

否则,您可以检查Controls表单/容器的属性以查找该TextBox类型的项目.如果控件可以嵌套在更深的容器中,您可能需要以递归方式探索它们(此时,我会认真考虑一种数组方法,除非您要加载一些可怕的文本框).但作为一个起点,你可能会有

foreach (var tb in this.Controls.OfType<TextBox>())
{
    tb.Text = "whatever";
}
Run Code Online (Sandbox Code Playgroud)