文本框不检查是否为空

Textbox not checking if null or not

在我的表单应用程序中有一个文本框和两个按钮,我需要启动一个进程,并且在文本框为空时我需要将其下方的按钮禁用。我已经尝试了 google 的帮助,即:

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

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

提前致谢。

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

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

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

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