我想知道如果任何 txt 输入字段为空,是否可以获得信息?
目前我有 10 个输入 txt 字段,如果我有 50 个输入,我想知道如何做到这一点,肯定有比检查每个字段更好的方法。
谢谢
您可以使用 LINQ
bool hasEmptyTextBox = Controls.OfType<TextBox>().Any(tb => tb.Text.Length == 0);
如果您还想确定是否没有空格,那么您可以使用tring.IsNullOrWhiteSpace方法:
bool hasEmptyTextBox = Controls.OfType<TextBox>()
.Any(tb => String.IsNullOrWhiteSpace(tb.Text));
正如@okrumnow 正确指出的那样,这将仅检查作为表单或用户控件的直接子级的文本框。如果您需要检查每个级别的文本框,那么您应该递归地进行:
public bool HasEmptyTextBox(Control control)
{
if (Controls.OfType<TextBox>().Any(tb => tb.Text.Length == 0))
return true;
foreach(var child in Controls)
if (HasEmptyTextBox(child))
return true;
return false;
}
顺便说一句,在您的文本框上进行一些验证,然后手动检查它们会更好。
FormName.Controls.OfType<TextBox>().Where(c => c.Text.Trim() == "")