怎么把tabControl的某个tabpage下面的所有子控件遍历装入一个list里面

如何把tabControl的某个tabpage下面的所有子控件遍历装入一个list里面
怎么把tabControl的某个tabpage下面的所有子控件遍历装入一个list里面

tabpage本身就是个容器,下面还有个groupbox容器,

我用了一个递归弄的,不知如何都加到一个list对象里面。


        /// <summary>
        /// 递归遍历控件
        /// </summary>
        /// <param name="control"></param>
        private void OperateControls(Control control)
        {
            foreach (Control c in control.Controls)
            {
                if (c is GroupBox)
                {
                    OperateControls(c);
                }
                if (c is TextBox)
                {
                    ((TextBox)c).Text = "你好啊!";
                }
                if (c is DataGridView)
                {

                }
            }
        }


指点一下,怎么都add到一个list里面返回给调用端。
------解决方案--------------------

  private List<Control> OperateControls(Control control)
        {
            List<Control> list = new List<Control>();
            foreach (Control c in control.Controls)
            {
                if (c is GroupBox)
                {
                    list.Add(c);
                }
                if (c is TextBox)
                {
                    list.Add(c);
                }
                list.AddRange(OperateControls(c));
            }
            return list;
        }