Method to reset members inside groupBox

前端 未结 3 1661
醉酒成梦
醉酒成梦 2020-12-22 05:35

is there any method for groupBox to clear all properties of objects inside groupBox. for example clear all textboxes, deselect all checkboxes etc. and set them to default. o

相关标签:
3条回答
  • 2020-12-22 06:10

    You would have to make a function like this:

    private void ClearControls(Control control)
    {
        var textbox = control as TextBox;
        if (textbox != null)
            textbox.Text = string.Empty;
    
        var dropDownList = control as DropDownList;
        if (dropDownList != null)
            dropDownList.SelectedIndex = 0;
    
        // And add any other controls
        // ...
    
        foreach( Control childControl in control.Controls )
        {
            ClearControl( childControl );
        }
    }
    

    Just call it like this:

    ClearControls(this);
    

    This will work recursively, so if you have any panels, for example, with their own set of controls to clear, this will clear those too.

    0 讨论(0)
  • 2020-12-22 06:29

    You would need to clear all the controls inside the group box one by one.

    0 讨论(0)
  • 2020-12-22 06:34

    The fastest way to do that is :

    Control myForm = Page.FindControl("Form1");
    foreach (Control ctrl in myForm.Controls)
    {
        //Clears TextBox
        if (ctrl is System.Web.UI.WebControls.TextBox)
        {
            (ctrl as TextBox).Text = "";
        }
        //Clears DropDown Selection
        if (ctrl is System.Web.UI.WebControls.DropDownList)
        {
             (ctrl as DropDownList).ClearSelection();
        }
        //Clears ListBox Selection
        if (ctrl is System.Web.UI.WebControls.ListBox)
        {
            (ctrl as ListBox).ClearSelection();
        }
        //Clears CheckBox Selection
        if (ctrl is System.Web.UI.WebControls.CheckBox)
        {
            (ctrl as CheckBox).Checked = false;
        }
        //Clears RadioButton Selection
        if (ctrl is System.Web.UI.WebControls.RadioButtonList)
        {
            (ctrl as RadioButtonList).ClearSelection();
        }
        //Clears CheckBox Selection
        if (ctrl is System.Web.UI.WebControls.CheckBoxList)
        {
            (ctrl as CheckBoxList).ClearSelection();
        }
    }
    
    0 讨论(0)
提交回复
热议问题