VB6.0中Form中有一个事件叫Resize()的事件,他相当于VB.NET中的SizeChange事件。依据窗体尺寸设置控件大小、位置,这就是分辨率思想。VB6.0例子:
Private Sub Form1_ ReSize()
{
Button1.Left=Int(Me.Width*0.1)'//左边距窗体的10%
Button1.Width=100
Button1.Top=Int(Me.Height*0.05) '//上边距窗体高度得5%
...
Grid1.Left=Button1.Left=Int(Me.Width*0.1)'//左边距窗体的10%
Grid1.Top=Button1.Top+Button1.Height+100
Grid1.Width=Button1.Left=Int(Me.Width*0.8)'//宽度80%
Grid1.Height=Me.Height-Grid1.Top-Me.Height*0.05
}
C#.NET Winform例子:
private void Form1_SizeChanged(object sender,EventArgs e)
{
//左边上边距离是窗体整体宽度和高度的5%,宽度和高度是窗体的90%
panel1.Top=Convert.ToInt32(this.ClientSize.Height*0.05)
panel1.Left=Convert.ToInt32(this.ClientSize.Width*0.05)
panel1.Width=Convert.ToInt32(this.ClientSize.Width*0.9)
panel1.Height=Convert.ToInt32(this.ClientSize.Height*0.9)
}