2014-07-03 62 views
2

在一個網站上,我發現了嘗試解析方法(如何檢查在C#中是否有一個空的文本框),但我不知道如何使用它。如何檢查空的文本框

int outputValue=0; 
bool isNumber=false; 
isNumber=int.TryParse(textBox1.Text, out outputValue); 
if(!isNumber) 
{ 
MessageBox.Show("Type numbers in the textboxes"); 
} 
else 
{ 
// some code 
} 

,我怎麼能解決這個1+文本框

+1

哪位有點困惑嗎? (順便說一句,你提供的代碼不檢查文本框是否爲空) – Sayse

+0

'String.IsNullOrEmpty'用於檢查文本是否爲空或空。 – Hassan

+1

這不檢查空的複選框。它會讓你知道文本框中的文本是否是整數。 – Enigmativity

回答

5

如果你想檢查你的頁面中的所有文本框控件爲空。試試IsNullOrWhiteSpace

foreach (Control child in this.Controls) 
    { 
     TextBox textBox = child as TextBox; 
     if (textBox != null) 
     { 
      if (!string.IsNullOrWhiteSpace(textBox.Text)) 
      { 
       MessageBox.Show("Text box can't be empty"); 
      } 
     } 
    } 
4

數你並不需要使用的TryParse功能。上例中的TryParse函數將嘗試將textBox1的文本轉換爲值outputValue。

如果成功,布爾isNumber將變爲true,並且參數outputValue get將文本框的值轉換爲int。

如果失敗,'IsNumber'屬性將保持爲false,並且屬性outputValue永遠不會更改。

Basiclly,如果需要檢查,如果一個文本框爲空,你可以使用:

if (string.IsNullOrEmpty(textbox1.Text) || string.IsNullOrEmpty(textbox2.Text) || string.IsNullOrEmpty(textbox3.Text) || string.IsNullOrEmpty(textbox4.Text)) 
{ 
    // At least 1 textbox is empty. 
} 
else 
{ 
    // All the textboxes are filled in. 
} 
+0

如何解決所有文本框的問題在去,所以例如我需要4個texboxes。我是否需要分別爲所有texoxes編寫代碼? 而僅適用於字符串?我只需要int/float/double變量。 – Sannyi97

+0

但是,如果他們需要填寫所有四個,你可以使用一個帶有多個子句的if語句。我編輯了我的答案。 – Complexity

+0

複雜性是對的。只是想補充一點,還有string.IsNullOrWhitespace()。通常空白被認爲是空的:) –

0

您可以使用下面的menioned代碼

if(!string.IsNullOrEmpty(textbox1.Text)) 
{ 
    int outputValue=0; 
    bool isNumber=false; 
    isNumber=int.TryParse(textBox1.Text, out outputValue); 
    if(!isNumber) 
    { 
     MessageBox.Show("Type numbers in the textboxes"); 
    } 
    else 
    { 
     // some code 
    } 
} 
+0

這是錯字改變它:) –

1

許多方法來完成這個任務

1. string.IsNullOrEmpty(textbox1.Text) 
2. textbox1.Text = string.empty(); 
3. textbox1.Text = "";