小弟新手,工作需要现学c#没几天。写了个控件缩放程序,代码如下:命名控件 drawing,forms在一个类里面包含以下代码:
1.遍历传入对象内的所有控件
        public void Enum(Control ctrls)
        {
            if (ctrls.Controls.Count > 0)         
            {
                foreach (Control in_ctrls in ctrls.Controls)    
                {
                    this.reSize(in_ctrls);
                    if (in_ctrls.Controls.Count > 0) this.Enum(in_ctrls);
                }
            }
        }2.对控件尺寸大小进行处理        public void reSize(Control ctr)
        {
            ///处理过程略            ctr.Size=new Size(newW, newH);
            ctr.Location =new Point(newX, newY); 
        }问题:
当我传入一个form1到enum内,遍历没问题,但是resize不运行,值已经传过去了。但是当我直接调用resize的时候,传入如form1.button1,form1.button2等字段时,resize运行正常。这是为什么?

解决方案 »

  1.   

    但是resize不运行?是指什么?有什么提示么?
      

  2.   

    public void Enum(Control ctrls) 
            { 
                this.reSize(ctrls); 
                if (ctrls.Controls.Count > 0)        
                { 
                    foreach (Control in_ctrls in ctrls.Controls)    
                    { 
                        this.reSize(in_ctrls); 
                        if (in_ctrls.Controls.Count > 0) this.Enum(in_ctrls); 
                    } 
                } 
            }