Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iterate text boxes by a for loop

Say I have 10 text boxes and I want to put the same text into each of them. I don't want to write textBoxNum. Text = "hello!" ten times so I might write something like this:

for(int i=1; i<=10; i++)
{
    textBox + i. Text = "hello!";
}

Obviously, it doesn't work.

How can this be done with a for loop ?

like image 738
Lizzy Avatar asked Sep 16 '26 16:09

Lizzy


1 Answers

You either need to load all of your textboxes into a list or array structure, and this will allow you to iterate over it.

TextBox[] boxes = { tb1, tb2, tb3, ... };

Otherwise, you could inspect the Controls property of your form/container for items of the TextBox type. If the controls could be nested in deeper containers, you might need to recursively explore them (at this point, I would seriously consider an array approach, unless you have some ghastly number of textboxes to load). But as a starting point, you might have

foreach (var tb in this.Controls.OfType<TextBox>())
{
    tb.Text = "whatever";
}
like image 195
Anthony Pegram Avatar answered Sep 18 '26 06:09

Anthony Pegram