在我的表单应用程序中有一个文本框和两个按钮,我需要启动一个进程,而在文本框中,只要它是空的,我需要它下面的按钮来禁用。我试过谷歌的帮助,即:
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 :(得分:1)
您应该绑定到文本框的TextChanged
事件并调用您的方法。它也可以简化。
实际上,只在表单加载时调用方法一次。
public void buttonenableordisable()
{
button1.Enabled = !String.IsNullOrEmpty(textBox1.Text);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
buttonenableordisable();
}