我想在填写整个表单后启用button
。我用的是什么代码
它是一个Windows窗体应用程序
if (textBox1!= null && textBox2 != null && textBox3 != null && textBox4 != null && textBox5 != null && textBox6 != null && textBox7 != null && textBox8 != null && textBox9 != null && textBox10 != null)
{
button2.Enabled = true;
}
else
{
button2.Enabled = false;
}
答案 0 :(得分:2)
假设您使用的是WinForms并且只有TextBox
个控件,可以试试这个:
button2.Enabled = true;
foreach (var testBox in this.Controls.OfType<TextBox>())
{
if (string.IsNullOrEmpty(textBox.Text))
{
button2.Enabled = false;
break;
}
}
更简洁的版本:
button2.Enabled = !this
.Controls
.OfType<TextBox>()
.Any(t => string.IsNullOrEmpty(t.Text));
答案 1 :(得分:1)
虽然您有多种方法可以做到这一点,但有一种简单的方法就是这样,请注意您的TextBox
控件不应位于Container
控件中{ {1}}或GroupBox
:
Panel
我假设您使用的是WinForms
答案 2 :(得分:0)
对所有文本框
使用 RequiredFieldValidation例如:
<asp:TextBox id="Text1"
Text="Enter a value"
runat="server"/>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
ControlToValidate="Text1"
Text="Required Field!"
runat="server"/>
将Button Enabled=false
属性设置为false。填写完所有文本框后,将其设为enabled=true
答案 3 :(得分:0)
您必须检查文本框内容,如下所示
if (textBox1.Text.Trim() != string.Empty && textBox2.Text.Trim() != string.Empty)
{
button2.Enabled = true;
}
else
{
button2.Enabled = false;
}
更新:你也可以使用谢尔盖别列佐夫斯基在下面提到的String.IsNullOrEmpty方法
答案 4 :(得分:0)
您可以在WPF应用程序中订阅名为“已加载”的事件,或在Windows窗体应用程序中订阅名为“加载”的事件。
答案 5 :(得分:0)
//使用textboxes的text changed事件并调用updateuserinterface方法Like:
private void OnTextChanged(object sender, EventArgs args)
{
UpdateUserInterface();
}
private void UpdateUserInterface()
{
if (textBox1!= null && textBox2 != null && textBox3 != null && textBox4 != null && textBox5 != null && textBox6 != null && textBox7 != null && textBox8 != null && textBox9 != null && textBox10 != null)
{
button2.Enabled = true;
}
else
{
button2.Enabled = false;
}
}