Vb.net 中心父窗体
我正试图得到一个表格,以中心的家长。我已经做了很多“谷歌搜索”,如果成功的话,一个也没有 问题是。当我将表单设置为“中心父表单”时,它将工作,除非父表单从原始起始位置移动 示例:父窗体从屏幕左上角开始。我把它移到中央屏幕。然后,我执行一个弹出窗口,该窗口位于左上角父窗体的原始位置的中心。不是现在的。 视觉: 我已将表单属性设置为“中心父级”,以及Vb.net 中心父窗体,vb.net,Vb.net,我正试图得到一个表格,以中心的家长。我已经做了很多“谷歌搜索”,如果成功的话,一个也没有 问题是。当我将表单设置为“中心父表单”时,它将工作,除非父表单从原始起始位置移动 示例:父窗体从屏幕左上角开始。我把它移到中央屏幕。然后,我执行一个弹出窗口,该窗口位于左上角父窗体的原始位置的中心。不是现在的。 视觉: 我已将表单属性设置为“中心父级”,以及 Me.StartPosition = FormStartPosition.CenterParent 我能重复这个问题。尝试将显示的事件处理程序添加到
Me.StartPosition = FormStartPosition.CenterParent
我能重复这个问题。尝试将显示的
事件处理程序添加到弹出窗体中。如果在显示表单时将所有者分配给表单,则应该能够在处理程序中定位表单,如下所示。请注意,如果移动所属窗体,弹出窗体将不会更改
确保使用Show(Me)
显示表单,否则将不会填充Owner
Public Class popup
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
BackColor = Color.LightBlue 'So I can see it
End Sub
Private Sub popup_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
Left = (Owner.Width / 2 - Width / 2) + Owner.Left
Top = (Owner.Height / 2 - Height / 2) + Owner.Top
End Sub
End Class
我能重复这个问题。尝试将显示的事件处理程序添加到弹出窗体中。如果在显示表单时将所有者分配给表单,则应该能够在处理程序中定位表单,如下所示。请注意,如果移动所属窗体,弹出窗体将不会更改
确保使用Show(Me)
显示表单,否则将不会填充Owner
Public Class popup
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
BackColor = Color.LightBlue 'So I can see it
End Sub
Private Sub popup_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
Left = (Owner.Width / 2 - Width / 2) + Owner.Left
Top = (Owner.Height / 2 - Height / 2) + Owner.Top
End Sub
End Class
在哪个类和方法中设置Me.StartPosition
属性
你看到这个答案了吗
更新
您需要做两件事才能使其正常工作:-
根据@mark hall,您需要在家长处出示表格和通行证:-
将子项设置为frmChild
child=New frmChild()
child.Show(Me)'显式声明父级
根据我引用的上述答案,在子窗体的Load
事件中,您需要调用Me.CenterToParent()
在哪个类和方法中设置Me.StartPosition
属性
你看到这个答案了吗
更新
您需要做两件事才能使其正常工作:-
根据@mark hall,您需要在家长处出示表格和通行证:-
将子项设置为frmChild
child=New frmChild()
child.Show(Me)'显式声明父级
根据我引用的上述答案,在子窗体的Load
事件中,您需要调用Me.CenterToParent()
请显示用于显示第二个表单的代码。@MarkHallpopup.show()
trypopup.show(Me)
。。。我将采取一些截图,以显示它在做什么,很难做到这一点explain@MarkHall正如您所见,它会根据主窗体的位置移动一点。请显示用于显示第二个窗体的代码。@MarkHallpopup.show()
trypopup.show(Me)
。。。我将采取一些截图,以显示它在做什么,很难做到这一点explain@MarkHall正如您所看到的,它会根据主窗体的位置移动一点。请原谅我,您指定所有者是什么意思?或者我该怎么做。当您显示表单时,请使用我在此处提到的语法yourformname.show(Me)
。好的,基本表单已加载Me.CenterToScreen()
。和弹出窗口。单击即可显示(我)
。然后在弹出窗体上显示您的代码。虽然运气不好,但我确信我遗漏了一些东西。请确保所显示的事件已被触发。我还称这个类为popup,您需要创建一个popup表单的实例并显示它。类似于Dim myPopup as popup=new popup()
的东西,那么您将使用myPopup.Show(Me)
如果您不这样做,您将使用弹出窗体的默认实例。请原谅,您指定所有者是什么意思?或者我该怎么做。当您显示表单时,请使用我在此处提到的语法yourformname.show(Me)
。好的,基本表单已加载Me.CenterToScreen()
。和弹出窗口。单击即可显示(我)
。然后在弹出窗体上显示您的代码。虽然运气不好,但我确信我遗漏了一些东西。请确保所显示的事件已被触发。我还称这个类为popup,您需要创建一个popup表单的实例并显示它。类似于Dim myPopup as popup=new popup()
的东西,然后您将使用myPopup.Show(Me)
如果您不这样做,您将使用弹出表单的默认实例。使用用户973238第一篇文章中的代码。它是有效的,除非我移动基础形状,否则它会粘在原来的位置上。编辑:我知道它是如何工作的,它位于屏幕中心,而不是表单中心。使用了用户973238第一篇文章中的代码。它是有效的,除非我移动基础形状,否则它会粘在原来的位置上。编辑:我看到它是如何工作的,它位于屏幕的中心,而不是窗体。