Vb.net 如何在保持窗体位于屏幕中心的同时调整窗体大小?
我有一个vb.net表单。 我使用下面的教程将阴影和移动/调整大小功能添加到表单中 它工作正常,但我的问题是,每当我的表单调整大小时, 它应该保持在屏幕的中心,或者,如果我从底部调整它的大小,它会从顶部和底部调整大小 我用过这个:Vb.net 如何在保持窗体位于屏幕中心的同时调整窗体大小?,vb.net,window-resize,Vb.net,Window Resize,我有一个vb.net表单。 我使用下面的教程将阴影和移动/调整大小功能添加到表单中 它工作正常,但我的问题是,每当我的表单调整大小时, 它应该保持在屏幕的中心,或者,如果我从底部调整它的大小,它会从顶部和底部调整大小 我用过这个: Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged Top = (Screen.PrimaryScreen.WorkingArea.Hei
Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Top = (Screen.PrimaryScreen.WorkingArea.Height - Height) / 2
Left = (Screen.PrimaryScreen.WorkingArea.Width - Width) / 2
End Sub
但是每当我调整它的大小时,在调整大小之后,表单就会移动到鼠标指针的位置。
鼠标指针位于窗体窗口之外,因为它在两个相反方向上都调整了一半大小
它会导致闪烁并更改窗体的位置
有什么办法可以让我顺利实施吗?提前感谢。声明2个变量以保持桌面屏幕分辨率 Dim dx,dy为整数 在窗体加载时,获取屏幕分辨率,并将其转换为dx和dy格式 最后,在调整大小事件中,执行以下操作 私有子表单1\u ResizeEndsender作为对象,e作为EventArgs处理MyBase.ResizeEnd 端接头 您可以使用Form.CenterToScreen方法: 阅读更多: 是的,我知道这篇文章说它不打算从您的代码中使用,但我看到其他专业程序员毫无问题地使用它
dx = My.Computer.Screen.Bounds.Width
dy = My.Computer.Screen.Bounds.Height
Dim x, y As Integer
x = Me.Width / 2
y = Me.Height / 2
Me.Location = New Point(dx / 2 - x, dy / 2 - y)
Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Me.CenterToScreen()
End Sub