2013-05-02 119 views
0

我得到了一個從我的數據庫加載值的文本框和一個基於textBox的值更新更改的按鈕。我需要的是如果textBox值改變,啓用按鈕。例如,如果我在textBox中再次輸入3,textBox加載的值爲3,則該按鈕仍將被禁用。如果我改變的值,例如4或任何號碼,但該按鈕纔會啓用不3.如何啓用基於文本框禁用的按鈕? c#

+0

請發佈您正在使用的代碼。 – kettch 2013-05-02 18:23:41

+0

@Anthony對不起,但我不明白「緩存原始值,然後在TextChanged事件比較」。 – 2013-05-02 18:55:07

+0

基本上,您將當前的文本框值與原始值設置爲的值進行比較。如果你有一個數據表,你可以看看這個問題,或者類似的問題:http://stackoverflow.com/questions/2756965/how-to-get-original-datacolumn-value-from-datarow – 2013-05-02 19:14:18

回答

4

緩存原始值的某個地方,然後在TextChanged事件比較

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

或者,你可能只是這樣做(請參閱以下CodesInChaos的評論):

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     button1.Enabled = textBox1.Text != OriginalValue; 
    } 
+0

爲什麼'if'聲明而不是任務?我只是使用'button1.Enabled = textBox1.Text!= OriginalValue' – CodesInChaos 2013-05-02 18:37:56

+2

@CodesInChaos是的,這是一個很好的方法來做到這一點。我經常在自己的項目中使用更嚴格的代碼,但在這裏,通常需要具有良好的可讀性,以便人們充分理解正在發生的事情。特別是有這樣的問題。 – 2013-05-02 18:43:46

+0

我將如何緩存? OriginalValue = textBox1.Text;像那樣的東西? – 2013-05-02 19:01:54

相關問題