如何填写整个表单时启用禁用按钮(C#)

时间:2014-01-06 08:18:07

标签: c#

我想在填写整个表单后启用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;
}

6 个答案:

答案 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;
            }
}