小弟新手,工作需要现学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.遍历传入对象内的所有控件
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运行正常。这是为什么?
{
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);
}
}
}