2013-01-16 69 views
4

對不起,我一直試圖弄清楚這個問題一個多小時。我正在使用下面的代碼來檢查一個空的文本框,如果它爲空,則跳過複製到剪貼板並轉到代碼的其餘部分。檢查文本框爲NULL

我不明白爲什麼我得到「值不能爲NULL」的例外。它不應該看到null並繼續前進而不復制到剪貼板嗎?

private void button_Click(object sender, EventArgs e) 
    { 
     if (textBox_Results.Text != null) Clipboard.SetText(textBox_Results.Text);    

     //rest of the code goes here; 
    } 
+1

什麼平臺... Wpf?的WinForms? –

回答

4

你應該做這樣的檢查。

如果(textBox_Results!= NULL & &!string.IsNullOrWhiteSpace(textBox_Results.Text))

只是一個額外的檢查,所以如果textBox_Results是有史以來空你沒有得到一個空引用異常。

+1

它不應該爲空。除非您動態地添加文本框或嘗試在表單處理時訪問(極不可能),否則您應該沒問題。請注意,您絕對不應該嘗試從別的表單訪問UI控件。你應該通過一種方法來做到這一點。 – tsells

+0

感謝一羣CJ ......它完美運作。我每天都在學習新的東西。 – Jeagr

5

您應該使用String.IsNullOrEmpty(),如果使用.NET 4 String.IsNullOrWhitespace()檢查。文本爲空值。

private void button_Click(object sender, EventArgs e) 
    { 
     if (!String.IsNullOrEmpty(textBox_Results.Text) Clipboard.SetText(textBox_Results.Text);    

     //rest of the code goes here; 
    } 
1

我想你可以只檢查,如果文本爲空字符串:

private void button_Click(object sender, EventArgs e) 
{ 
    if (textBox_Results.Text != "") Clipboard.SetText(textBox_Results.Text);    

    //rest of the code goes here; 
} 

您還可以檢查使用string.IsNullOrEmpty()方法。