2016-11-20 6 views
0

В моем приложении формы есть текстовое поле и две кнопки, мне нужно запустить процесс, а в текстовом поле всякий раз, когда он пуст, мне нужно, чтобы кнопка под ним была отключена. Я попытался google'd помощи, то есть:Текстовое поле не проверяет, имеет ли он нуль или нет

public void buttonenableordisable() 
{ 
    if(String.IsNullOrEmpty(textBox1.Text)) 
    { 
     button1.Enabled = false; 
    } 
    else 
    { 
     button1.Enabled = true; 
    } 
} 

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

if (string.IsNullOrWhiteSpace(textbox1.Text)) 
{ 
    button1.Enabled = false; // <<== No double-quotes around false 
} 
else 
{ 
    // Don't forget to re-enable the button 
    button1.Enabled = true; 
} 

Но это тоже не работает. Есть идеи ?

Заранее спасибо.

+0

Как вызывается 'buttonenableordisable()'? –

+0

С какого обработчика событий вы вызываете этот код? – Steve

+0

@DanWilson вызывает его в форме() где: public Form2() { InitializeComponent(); buttonenableordisable(); } – Commongrate

ответ

1

Вы должны связать событие TextChanged текстового поля и вызвать свой метод. Он также может быть упрощен.

Как бы то ни было, вы вызываете свой метод только один раз, когда форма загружается.

public void buttonenableordisable() 
{ 
    button1.Enabled = !String.IsNullOrEmpty(textBox1.Text); 
} 

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    buttonenableordisable(); 
} 
+0

если я вызываю buttonenableordisable(); метод в textchanged, кнопка не будет выделена серым цветом, если текстовое поле пуст. – Commongrate

+0

Nevermind я назвал его в форме, и он работает, спасибо. – Commongrate

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

  • Нет связанных вопросов^_^