0

我想知道如果任何 txt 输入字段为空,是否可以获得信息?

目前我有 10 个输入 txt 字段,如果我有 50 个输入,我想知道如何做到这一点,肯定有比检查每个字段更好的方法。

谢谢

4

2 回答 2

3

您可以使用 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;
}

顺便说一句,在您的文本框上进行一些验证,然后手动检查它们会更好。

于 2013-06-28T13:12:48.217 回答
1
FormName.Controls.OfType<TextBox>().Where(c => c.Text.Trim() == "")
于 2013-06-28T13:12:32.450 回答