重置groupBox内成员的方法

时间:2015-05-29 21:21:40

标签: c# reset groupbox

是否有任何方法让groupBox清除groupBox中对象的所有属性。例如,清除所有文本框,取消选中所有复选框等,并将它们设置为默认值。或者我应该逐个编码以清除它们?我想在事件列表视图SelectedIndexChanged。

上执行此操作

更新

好的,感谢重播,我发现你可以选择groupbox中的控件非常简单。

    let chartPoints: [ChartPointBubble] = json.array.map{
        ChartPointBubble(x: ChartAxisValueFloat(CGFloat($0.x), labelSettings:labelSettings),
            y:ChartAxisValueFloat(CGFloat($0.y)), diameterScalar: $0.r, description: $0.description)
    }

3 个答案:

答案 0 :(得分:1)

您需要逐个清除组框内的所有控件。

答案 1 :(得分:1)

最快的方法是:

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();
    }
}

答案 2 :(得分:0)

你必须做这样的功能:

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 );
    }
}

就这样称呼它:

ClearControls(this);

这将以递归方式工作,因此,如果你有任何面板,例如,要清除它们自己的一组控件,这也将清除它们。