我正在开发一个应用程序,其中有一个按钮在搜索框(像一个在itunes).我想启用取消按钮,每当有文本框中的文本,并禁用它时,文本框是空的。我尝试用下面的代码在textbox上使用text_changed事件,但它跳过了if条件。即使发件人发送给我正确的价值观,但我无法把它变成如果其他。
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(sender.ToString()))
{
btn_cancel.Visible = false;
}
else
{
btn_cancel.Visible = true;
}
}
请帮
7条答案
按热度按时间cgfeq70w1#
这里有一个简单的解决方案。
当然,你必须在表单初始加载时设置button.Enabled = false,因为textbox事件不会在启动时触发(对于当前为你的问题提供的所有答案为true)。
fcwjkofz2#
6yjfywim3#
试试这个:
sender.ToString()
将始终返回System.Windows.Forms.TextBox
您需要将sender
转换为TextBox
并使用Text
值进行null或空检查dvtswwa34#
尝试将发送者强制转换为TextBox:
6bc51xsx5#
一个内衬:
jw5wzhpr6#
我会这么做
这并不假设事件源是一个特定的控件,并避免了错误地将其附加到非
TextBox
的对象时的异常。pb3skfrl7#