文本框不检查是否为空

文本框不检查是否为空

问题描述:

在我的表单应用程序中有一个文本框和两个按钮,我需要启动一个进程,并在文本框中每当它为空时,我需要它下面的按钮来禁用。我曾尝试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

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

就这样,您只在表单加载时调用一次方法。

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

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

如果我打电话给buttonenableordisable();方法在textchanged中,如果文本框为空,则按钮不会变灰。 – Commongrate

+0

没关系,我把它称为它的形式,它的工作原理,谢谢。 – Commongrate