我在form2中有一个文本框和一个按钮.在form1中单击某个项目时,将显示form2.我希望在文本框为空时禁用form2中的按钮,但是当用户开始键入时,我想启用该按钮.
我尝试在initialisecomponent()之后在我的构造函数中使用if,但它不起作用:
if(textbox1.text != "")
{
btnOne.Enabled = true;
}
Run Code Online (Sandbox Code Playgroud)
我也试过调用一个checkText()
在初始化组件之后调用的方法,它使用do-while循环来检查:
do{
btnOne.Enabled = true
}
while(textbox1.text != "");
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
你需要使用一个事件.查看控件的TextChanged事件TextBox
.
基本上你会想要这样的东西:
private void textbox1_TextChanged(object sender, EventArgs e)
{
btnOne.Enabled = !string.IsNullOrEmpty(textbox1.Text);
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Visual Studio,则可以执行以下操作来添加事件代码.
注意:此方法将要求用户TextBox
在事件触发之前"失去焦点" 控件.如果您想要一个按需类型的解决方案,请查看KeyUp事件
@Asif在检查空白字符时也提出了一个很好的观点.这是您对有效内容的调用,但如果您不想允许使用空白值,则可以使用IsNullOrWhiteSpace方法 - 但是,这需要您使用.Net Framework 4.0或更高版本