检查哪个动态创建的文本框为空

时间:2015-06-08 22:18:42

标签: c# winforms

this question提供了一个解决方案,用于检查窗口表单上的任何文本框是否为空。我的问题延伸到:如果文本框是动态创建的,有没有办法告诉哪个文本框为空并返回控件(文本框)的名称?

请告知是否需要更多信息,谢谢。

编辑:代码:(整个程序太大,我只会添加文本框部分)

        private TextBox Department_Contact = new TextBox();
        this.Department_Contact.Location = new System.Drawing.Point(lct1, lct2);
        this.Department_Contact.Size = new System.Drawing.Size(s1, s2);
        this.groupBox2.Controls.Add(this.Department_Contact);  

此文本框加载取决于某些组合框选择;因此硬编码

 if (Department_Contact.Text == string.Empty)  

不是我的代码的选择

编辑:以下是寻求解决方案的完整答案:

        Department_Contact.name = "Department_Contact";
        var txt = View.groupBox2.Controls.OfType<TextBox>().ToArray();

        foreach (TextBox t in txt)
        {
            if (t.Text == "")
                Console.WriteLine(t.Name);
        }

1 个答案:

答案 0 :(得分:1)

您可以做的是将所有文本框传递到数组中,然后检查每个文本框。

var txt = this.groupbox.Controls.OfType<TextBox>().ToArray();

foreach (TextBox t in txt)
{
    if (t.Text == "")
        Console.WriteLine(t.Name);
}

View是对表单的引用。如果您在表单中执行此代码,则可以使用this代替。