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);
}
答案 0 :(得分:1)
您可以做的是将所有文本框传递到数组中,然后检查每个文本框。
var txt = this.groupbox.Controls.OfType<TextBox>().ToArray();
foreach (TextBox t in txt)
{
if (t.Text == "")
Console.WriteLine(t.Name);
}
View
是对表单的引用。如果您在表单中执行此代码,则可以使用this
代替。