文本框不检查是否为空
问题描述:
在我的表单应用程序中有一个文本框和两个按钮,我需要启动一个进程,并在文本框中每当它为空时,我需要它下面的按钮来禁用。我曾尝试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;
}
但是这也行不通。有任何想法吗 ?
在此先感谢。
答
您应该绑定到文本框的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
如何调用'buttonenableordisable()'? –
您从哪个事件处理程序调用此代码? – Steve
@DanWilson在窗体()中调用它,其中:public Form2() { InitializeComponent(); buttonenableordisable(); } – Commongrate