许多形式 - TextBox n#39;在一个列表<textbox> </textbox>中

时间:2013-04-03 20:28:58

标签: c# list textbox

我有一个包含20 TextBoxes(2-22)的表单,我想将它们全部添加到List<TextBox>所以我可以使用{{1}在所有文件中添加相同的文本}。

我的想法(笑):

for-statement

但这不起作用,因为它无法将字符串转换为textBoxName。 你可以这样做:

List<TextBox> textBoxes = new List<TextBox>();

for(int i = 2; i < 23; i++) {

//This String should refer to = textBox2, textBox3, etc
textBoxes.Add("textBox"+ Convert.ToString(i));

}

但是没有人有时间......:)

3 个答案:

答案 0 :(得分:2)

如果是WinForms,这应该可行......

textBoxes.Add((TextBox)Controls.Find("textBox" + i, true)[0]);

答案 1 :(得分:1)

在将它们传递到列表中之前,您需要将它们作为控件进行投射,而不是尝试在List<TextBox>中添加字符串值。

尝试将其添加到您的循环中:

textBoxes.Add((TextBox)this.Controls.Find("textBox"+ Convert.ToString(i),true));

答案 2 :(得分:0)

List<TextBox> textBoxes = new List<TextBox>();

for (int i = 1; i <= 22; i++) {
    textBoxes.Add((TextBox)this.Controls.Find("textBox" + i, false)(0));

}