如何循环TextBox控件? (C#WinForms)

时间:2016-02-07 07:25:55

标签: c# winforms textbox controls

我有49个文本框,这些文本框位于表格格式的表单上。每行文本框属于不同的类别。我想知道如何在数组中循环遍历它们?

这就是我的意思:

txtName的(0)。文本
txtOtherName(0)。文本
txtName的(1)。文本
txtOtherName(1).Text

((等等......)) 其中(#)是文本框名称的唯一后缀。

如果可能的话,我试图避免为它们分配所有单独的变量(在每个组中)。所以我总共有7个变量和49个文本框。

感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:2)

您可以通过这种方式遍历每个控件

foreach (var control in this.Controls)
{
    var textBox = control as TextBox;
    if (textBox != null)
    {
          // do your stuff here
    }
}

答案 1 :(得分:-1)

这可能会有所帮助:root是容器或窗口,id是控件:

#region Find Control Recursive
public Control FindControlRecursive(Control root, string id)
{
    if (root.ID == id)
       return root;
    foreach (Control c in root.Controls)
    {
        Control t = FindControlRecursive(c, id);
        if (t != null)
           return t;
    }
    return null;
}
#endregion