遍历Windows窗体上的所有GroupBox

时间:2016-11-23 17:43:59

标签: c# windows winforms visual-studio ado.net

我目前正在使用VS2015中的C#和ADO.NET创建一个个人项目,以创建一个与数据库连接的基本Windows窗体。

我目前正在编写一系列Clear例程,它们将重置各种表单元素。所有表单控件都位于GroupBoxes中。我试图确定循环遍历所有GroupBox的最佳方法,因此我可以遍历每个控件并清除它。现在我只是试图清除TextBoxes。

以下是我的代码:

{{1}}

目前,我在第二行收到错误消息: “System.InvalidCastException”类型的未处理异常

如果有人能帮我解决这个问题,我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

我确定我的问题是忽略了GroupBoxes有孩子。 通过考虑子程序中的子控件,我能够解决问题。修复问题并进行一些清理后,我的代码就是这样:

public void ClearTextBoxes(Control control)
    {
        foreach (Control con in control.Controls)
        {
            TextBox box = con as TextBox;
            box?.Clear();

            if (con.HasChildren)
            {
                ClearTextBoxes(con);
            }
        }
    }