利用Panel的Dock属性,可以将页面分为不同的区块,并且可以使这些区块随窗体大小变化,所占的比例可以不变,这一切在Winform下实现起来非常简单:
1.新建一个Form,添加两个Panel: Panel1,Panel2, 设置Panel1的Dock=Left,Panel2的Dock=Fill,为了能看到效果,设置Panel1的BorderStyle=FixedSingle
2.添加Page的SizeChanged事件
private
void
PanelSample_SizeChanged(
object
sender, System.EventArgs e)
{
this .panel1.Width = this .Width / 2 ;
}
{
this .panel1.Width = this .Width / 2 ;
}
3.添加在Panel1中添加Panel3,Panel4,设置Panel3的Dock=Left,Panel4的Dock=Fill。同样在Panel2中添加Panel5,Panel6,设置Panel5的Dock=Left,Panel6的Dock=Fill。
4.添加Page的SizeChanged事件
private
void
PanelSample_SizeChanged(
object
sender, System.EventArgs e)
{
this .panel1.Width = this .Width / 2 ;
this .panel3.Width = this .Width / 4 ;
this .panel5.Width = this .Width / 4 ;
}
{
this .panel1.Width = this .Width / 2 ;
this .panel3.Width = this .Width / 4 ;
this .panel5.Width = this .Width / 4 ;
}
5.为Panel3,4,5,6分别添加一个GroupBox,设置这4个GroupBox的Dock=Fill,去掉开始设置的BorderStyle属性。
运行程序,改变一下窗体大小试试,是不是感觉比较专业一点,^_^。这样无论在什么分辨率下,你的程序窗体控件比率都是一样的,在GroupBox中添加控件,同样用Dock属性来控制,这样你的窗体空间就充分利用起来了。