c# groupbox大小_C#,实现窗口大小改变时窗口内的控件自动调整位置和大小时,groupbox内的控件为什么不自动调整...

初始化时:InitializeComponent();intcount=this.Controls.Count*2+2;float[]factor=newfloat[count];inti=0;factor[i++]=Size.Width;factor[i++]=Size.Height;foreach(Controlctrlin...

初始化时:

InitializeComponent();

int count = this.Controls.Count * 2 + 2;

float[] factor = new float[count];

int i = 0;

factor[i++] = Size.Width;

factor[i++] = Size.Height;

foreach (Control ctrl in this.Controls)

{

factor[i++] = ctrl.Location.X / (float)Size.Width;

factor[i++] = ctrl.Location.Y / (float)Size.Height;

ctrl.Tag = ctrl.Size;

}

Tag = factor;

resize事件:

float[] scale = (float[])Tag;

int i = 2;

foreach (Control ctrl in this.Controls)

{

ctrl.Left = (int)(Size.Width * scale[i++]);

ctrl.Top = (int)(Size.Height * scale[i++]);

ctrl.Width = (int)(Size.Width / (float)scale[0] * ((Size)ctrl.Tag).Width);

ctrl.Height = (int)(Size.Height / (float)scale[1] * ((Size)ctrl.Tag).Height);

}

说明:百度知道离回答http://zhidao.baidu.com/question/421384385.html里有,不过没说清楚,不要说要用anchor和DOCK方法,不行。

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值