C#怎么遍历winForm上所有的控件。如有嵌套的控件怎么遍历里面的控件啊。我只找到WinForm上的控件,如控件里的控件就找不到了。递归算法怎样啊!

解决方案 »

  1.   

    private void GetControls(ArrayList retList,Control ctrl)
            {
                foreach (Control ctl in ctrl.Controls)
                {
                    retList.Add(ctl.Name);
                    GetControls(retList, ctl);
                }
            }
            private void button1_Click(object sender, EventArgs e)
            {            ArrayList retList=new ArrayList();
                this.GetControls(retList,this);
                this.listBox1.Items.AddRange(retList.ToArray());
            }