2012-08-08 27 views
0

我對C#非常非常新,而且我正在使用Winforms進行我的項目研究。下面的代碼沒有完成它的工作。當我的richComResults(richTextBox)爲空時,我想要一個messageBox出現並說「沒有東西要被清除!」,但它沒有說出來,它顯示了Yes/No對話框。如果語句在給出警告消息框時效果不佳

請你能夠友好地指出我的錯誤?您的意見將非常感謝。謝謝。

private void btnComClearAll_Click(object sender, EventArgs e) 
    { 
     if (richComResults == null) 
     { 
      MessageBox.Show("There is nothing to be cleared!"); 
     } 
     if (richComResults != null) 
     { 
      DialogResult dialogResult = MessageBox.Show("Are you sure you want to clear the results?", "Warning", MessageBoxButtons.YesNo); 
      if (dialogResult == DialogResult.Yes) 
      { 
       richComResults.Clear(); 
      } 
      else if (dialogResult == DialogResult.No) 
      { 
      } 
     } 
    } 
+0

你不想檢查richComResults,要檢查richComResults.Text。 – 2012-08-08 01:06:08

+0

如果您使用的RichTextBox沒有Text屬性,那麼這可能會有所幫助:http://stackoverflow.com/questions/957441/richtextbox-wpf-does-not-have-string-property-text – 2012-08-08 01:09:51

+0

'null'不同於'String.Empty'或''「''。 'null'表示沒有值,而''「表示字符串值爲空 – 2012-08-08 01:31:45

回答

4

richComResults是你RichTextBox控制,所以它可能不是空......你需要檢查什麼是它的Text財產。它可能不會爲空,但它可能是空的(請記住,空字符串與空不相同)。您可以使用string.IsNullOrEmpty反正來測試這兩種情況下:

if (string.IsNullOrEmpty(richComResults.Text)) 
    { 
     MessageBox.Show("There is nothing to be cleared!"); 
    } 
    else 
    { 
     ... 
    } 
+0

非常感謝! :d – Shyuan 2012-08-08 01:18:53

0

另一種方式來檢查的RichTextBox是否爲空或不

if (richComResults.Text== "") 
      { 
       MessageBox.Show("rich text box is empty"); 

      } 
      else 
      { 
       MessageBox.Show("rich text box is not empty"); 
      }