怎么让控件随窗体的变换而变换?
怎么让控件随着窗体的变大而变大变小而变小?
用的是什么属性?
如果让控件随着窗体大小变化而变化,那么控件大小和窗体大小的比例应该就是固定的,假设这个比例为N(当然N<1,否则控件比窗体大了)
那么在窗体的SizeChanged事件里按照这个比例修改控件大小就可以了
private void Form_SizeChanged(object sender,System.EventArgs e)
{
this.button1.With=this.With*N;
this.button1.Height=this.Height*N;
}
但是这样做,控件的位置是相对不变的,同时可以记录控件与窗体左边距和窗体的宽度和控件的宽度的差的比例,记录控件与窗体的上边距与窗体的高度和控件的高度的差的比例.
哎,我自己都糊涂了,事例一下
控件与窗体左边距和窗体的宽度和控件的宽度的差的比例:
double N1=this.button1.Left/(this.With-this.button1.With);
控件与窗体的上边距与窗体的高度和控件的高度的差的比例
double N2=this.button1.Top/(this.Height-this.button1.Height);
将N1和N2记录好,并且同样在窗体的SizeChanged事件里让这个比例保持,就能达到你想要的效果了
DOCK是停靠属性,如果停靠以后,控件会紧挨着停靠边最临近的控件.
如果想让控件在窗体中间或其他固定比例的位置就得计算了
还有如果控件按比例计算位置以后得到的不是整型,可以取整数或5舍6入为整数,在计算机上即使是800X600分辨率也肉眼也不容易分辨到像素级别