VB.Net设置子窗口在父窗口居中显示窗口显示在主窗口中间

  • A+
所属分类:vb.net

在主窗口打开是时候想要子窗口显示在主窗口是中间,而且拖动窗口,拉动大小,打开在子窗口始终在主窗口的中间位置,首选需要知道我的在窗口位置坐标是如何计算的,原点(0,0)是在屏幕的左上角开始计算的。计算方法,如图:

图中点1是屏幕原点,点2是主窗口,点3是子窗口,只是算出两边是间隙除以2就得到单边,加上主窗口原点,不就是子窗口原点了吗?图中只有算出AB 距离即可

VB.Net设置子窗口在父窗口居中显示窗口显示在主窗口中间

1、求出主窗口的开始原点(也就是窗口最左上角那个点)

2、求出主窗口的大小,( 长、宽 )

3、求出子窗口的大小,( 长、宽 )

上面的条件就可以计算出子窗口的原点,,得出子窗口的原点,直接在子窗口 Form3_Load事件里面赋值原点就可以了

计算例子:

Me.Left = (Form1.Width - Me.Width) / 2 + Form1.Left
Me.Top = (Form1.Height - Me.Height) / 2 + Form1.Top

' 如果窗口大小不确定怕出现负数,请使用觉对值,
'Me.Left = System.Math.Abs(Form1.Width - Me.Width) / 2 + Form1.Left

复制

请把代码加到需显示的窗口的Form3_Load启动事件里面。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: