我想知道如果任何txt输入字段为空,是否可以获取信息?
目前我有10个输入txt字段,我想知道如果我有50个输入可以做到这一点,肯定必须有比检查每个字段更好的方法。
由于
答案 0 :(得分: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所说,这将只检查TextBoxes,它们是表单或用户控件的直接子项。如果你需要检查每个级别的文本框,那么你应该递归地执行:
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;
}
顺便说一句,在文本框中放置一些validation,然后手动检查它们。
答案 1 :(得分:1)
FormName.Controls.OfType<TextBox>().Where(c => c.Text.Trim() == "")