我想知道是否有可能获得任何txt输入字段为空的信息?检查winforms字段是否为空
目前我有10个输入txt字段,我想知道如果我有例如50个输入可以做到这一点,当然必须有比检查每个字段更好的方法。
感谢
我想知道是否有可能获得任何txt输入字段为空的信息?检查winforms字段是否为空
目前我有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正确指出的那样,这将仅检查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;
}
BTW这是beeter把你的文本框部分validation,然后手动检查他们所有。
如果它们都放在同一个容器内。 – okrumnow
@okrumnow是的,很好的通知 –
FormName.Controls.OfType<TextBox>().Where(c => c.Text.Trim() == "")
VB?或C#? ..你的意思是文本框? – matzone
c#,textbox .... – user1765862
[This cartoon](http://noisydecentgraphics.typepad.com/.shared/image.html?/photos/uncategorized/2008/03/11/yourproduct.jpg)很经典。 –