我想要做的是,我有一个清除按钮,删除每个输入的值。但是,如果我单击它而不输入值,则会显示错误。因此,我决定如果用户没有输入任何值,则将禁用“清除”按钮。但是,当我这样做时,Clear按钮不会再次启用,所以我想放一个定时器,在几秒钟后重新启用Clear按钮让我们说3秒钟。有人可以帮我吗?顺便说一下它应该在C#中 到目前为止我做了什么
if (txtFirstActual.Text.Length > 0)
{
//so that if the user clicked on Clear button without entering a value, it will disable the button
button1.Enabled = true;
}
else
{
button1.Enabled = false;
// here, i want to put a timer here so that it re enables the button after few sec's
}
答案 0 :(得分:4)
基于计时器的按钮检查是一种不好的方法。如果您只想在输入数据后启用“清除”按钮,则应订阅" TextChanged"人们输入数据的文本框中的事件。
有关订阅活动的更多信息,请查看关于" Consuming Events的这篇MSDN文章。"
答案 1 :(得分:1)
如何启用/禁用文本上的按钮更改。检查值。如果是空或空禁用,否则启用按钮。
private void MyTextBox_TextChanged(object sender, EventArgs e)
{
try
{
if(String.IsNullOrEmpty(((TextBox)sender).Text)))
{
MyClearButton.Enabled = false;
}
else
{
MyClearButton.Enabled = true;
}
}
catch
{
MyClearButton.Enabled = false;
}
}
答案 2 :(得分:0)
为什么要烦恼?在button1的Click处理程序
中怎么样if (!String.IsNullOrEmpty(txtFirstActual.Text))
{
// clear data
}
如果方法调用在某些情况下会失败(例如:尝试清除是否存在任何内容),那么最好的方法是执行检查所在的位置。这通常比在程序中保留危险代码以及在UI中构建锁和障碍以试图阻止用户访问该危险代码更容易和更清晰。