文本框不检查是否为null

时间:2016-11-20 17:16:10

标签: c# string button textbox isnullorempty

在我的表单应用程序中有一个文本框和两个按钮,我需要启动一个进程,而在文本框中,只要它是空的,我需要它下面的按钮来禁用。我试过谷歌的帮助,即:

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;
}

但这也不起作用。有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该绑定到文本框的TextChanged事件并调用您的方法。它也可以简化。

实际上,只在表单加载时调用方法一次。

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

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