本帖最后由 qgipfk168 于 2011-11-09 10:57:49 编辑

解决方案 »

  1.   

    你的count值有变化么,GetControl函数那个不相等时那不是死循环么
      

  2.   

    private Control GetControl(Control panels, int count, string name)
            {
                foreach (Control Item in panels.Controls)
                {
                    if (Item.Name == name+count.ToString())
                    {
                        return Item;
                    }
                    else
                    {
                        Control control = GetControl(panels, count, name);
                        if (control != null)
                        {
                            return control;
                        }
                    }
                }
                return null;
            }
    代码写错了吧,会死循环的。if...else{无限递归了},只要第一个控件不是要找的控件,就else调用GetControl;新调用的GetControl中第一个控件不是要找的控件,就else调用GetControl...无限循环下去
      

  3.   

    是要去掉 else部分,谢谢了