2013-06-28 442 views
0

我想知道是否有可能獲得任何txt輸入字段爲空的信息?檢查winforms字段是否爲空

目前我有10個輸入txt字段,我想知道如果我有例如50個輸入可以做到這一點,當然必須有比檢查每個字段更好的方法。

感謝

+1

VB?或C#? ..你的意思是文本框? – matzone

+0

c#,textbox .... – user1765862

+4

[This cartoon](http://noisydecentgraphics.typepad.com/.shared/image.html?/photos/uncategorized/2008/03/11/yourproduct.jpg)很經典。 –

回答

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; 
} 

BTW這是beeter把你的文本框部分validation,然後手動檢查他們所有。

+0

如果它們都放在同一個容器內。 – okrumnow

+0

@okrumnow是的,很好的通知 –

1
FormName.Controls.OfType<TextBox>().Where(c => c.Text.Trim() == "")