2013-05-02 3 views
0

Я получил текстовое поле, которое загружает значение из моей базы данных и кнопку, которая обновляет изменения в зависимости от значения textBox. Мне нужно включить кнопку, если значение textBox изменилось. Например, значение, которое загружает textBox, равно 3, если я также снова вводю 3 в текстовом поле, кнопка все равно будет отключена. Кнопка будет включена только тогда, когда я изменил значение, например, 4 или любой номер, но не 3.Как включить кнопку, которая отключена на основе textBox? C#

+0

Пожалуйста, разместите код, который вы используете для этого. – kettch

+0

@ Энтони Извините, но я не понял: «Кэшируйте исходное значение где-нибудь, а затем сравните событие TextChanged». –

+0

В основном вы сравниваете текущее значение текстового поля с тем, для чего было установлено исходное значение. Если у вас есть данные, вы можете посмотреть на этот вопрос или один из них: http://stackoverflow.com/questions/2756965/how-to-get-original-datacolumn-value-from-datarow –

ответ

4

Cache исходное значение где-то сравнить в TextChanged Event

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

+2

@CodesInChaos Да, это хороший способ сделать это. Я часто использую более строгий код в своих проектах, но здесь часто нужно иметь хорошую читаемость, чтобы люди полностью понимали, что происходит. Особенно с таким вопросом. –

+0

Как я буду кэшировать? OriginalValue = textBox1.Text; Что-то вроде того? –

Смежные вопросы