2015-08-17 6 views
0

У меня есть два текстовых поля в форме окна. Также отключена кнопка.Как проверить текстовое поле в C# WF?

Как я могу сделать текст проверки окно:

  • , если поле пустое, то кнопка отключения
  • , если значение в поле меньше 5, то кнопку отключения
  • другой случай - включить кнопку

Я пробовал это на событии TextChange, но когда я попытался ввести значение 43, я получаю уведомление, потому что событие TextChange работает после каждого ввода символы.

Код:

private void textBox2_TextChanged(object sender, EventArgs e) 
     { 
      if (String.IsNullOrEmpty(textBox2.Text)) 
      { 
       button6.Enabled = true; 
      } 
     } 
+0

Можем ли мы увидеть код, который вы пробовали? –

+0

В веб-формах вам нужно сделать это вручную, можете ли вы использовать WPF? Это проще, чем с шаблоном MVVM – Carlos487

+0

Обновленный вопрос – Babaev

ответ

0

Обновить Ваше мероприятие обрабатывать как это:

private void textBox2_TextChanged(object sender, EventArgs e) 
{ 
    button6.Enabled = 
     !String.IsNullOrEmpty(textBox2.Text) && textBox2.Text.Length > 5 
} 

Что касается отключения кнопки при запуске, вы просто установить Button6 быть отключены по умолчанию.

Или вызовите вашу проверку в конструкторе:

textBox2_TextChanged(null, null); 
1

Если вы не хотите, чтобы проверить каждый раз при нажатии кнопки, но предпочел бы проверить, когда пользователь покидает поле, вместо того, чтобы закреплять в TextChanged случае, крючок в Leave мероприятие.

private void textBox2_Leave(object sender, EventArgs e) 
{ 
    button6.Enabled = !(string.IsNullOrEmpty(textBox2.Text)) && textBox2.Text.Length >= 5; 

    if (!button6.Enabled) 
    { 
     textBox2.Focus(); 
    } 
} 
+0

Спасибо, как я могу сэкономить фокус на текущем поле, если проверка неверна? – Babaev

+0

Я обновил свой ответ для вас. –

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