2013-03-23 44 views
0

在Visual Studio 2010中,我希望如果文本框中沒有任何內容,按鈕將被禁用。 它啓動爲禁用,當我在文本框中輸入內容時變爲啓用狀態。 但是,當我從文本框中刪除所有內容時,它仍然處於啓用狀態。 這就是我所做的:VS 2010:如何在從文本框中刪除後禁用按鈕?

public Form1() 
    { 
     InitializeComponent(); 
     button1.Enabled = false; 
    }  

    private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     if (textBox1.Text == null) 
     { 
      button1.Enabled = false; 
     } 
     else 
     { 
      button1.Enabled = true; 
     } 
    } 

有什麼建議嗎?

謝謝!

回答

5

if (textBox1.Text == null) 

應該是

if (textBox1.Text == string.Empty) 

Text屬性將不爲空(這通常被認爲是指不存在任何值),而是的String.Empty,這代表一串零長度。

寫這個較短的方法是:

button1.Enabled = (textBox1.Text != string.Empty); 
+0

埃裏克,漂亮的呼叫。我意識到你已經擁有了同樣較短的實現。 – 2013-03-23 19:59:05

+0

或button1.Enabled =!string.IsNullOrEmpty(textBox1.Text) – Phil 2013-03-23 21:24:22

+0

@Phil:不是說它可能對於WinForms應用程序來說至關重要,但是string.IsNullOrEmpty會對null進行額外的不必要的檢查:-) – 2013-03-24 04:19:27

相關問題