2012-06-27 3 views

ответ

3

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

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

Или: 'button1.Enabled = textBox1.Text.Length> 0'. –

+0

@UweKeim Это тоже хорошее решение. ;) –

+0

Можете ли вы дать мне код в designer.cs, у меня есть ошибка. –

0

Ручка на text change event

чек и посмотреть, что TextBox.Text подобно этому

if(string.IsNullOrEmpty(textbox1.text)) 
{ 
    Button1.enabled = false; 
} 
+0

Значения свойств TextBox * Text * никогда не будут равны нулю. –

+0

На самом деле это не так ... http://stackoverflow.com/questions/4780819/c-sharp-winform-how-textbox-became-null-on-button-click-second-time –

+0

На самом деле это так. Попробуйте установить значение TextBox Text в значение null и затем проверить свойство Text. Это будет пустая строка. –

0

, если вы хотите, чтобы отключить текстовое поле, затем с использованием textChanged:

if (textbox.Text == ""){ 
    button.Enabled = false; 
} 

Надеюсь, что это поможет

0

Сделать button1.Enabled = false;

и добавить EventHandler к textbox1.TextChanged = new System.EventHandler(SearchBoxTextChanged);

private void textbox1_TextChanged(object sender, EventArgs e) 
    { 
     button1.Enabled = (textBox1.Text.Trim() != string.Empty); 
    } 
Смежные вопросы