2013-05-02 115 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

相关问题