【发布时间】:2017-08-03 15:44:40
【问题描述】:
我有一个 MDI 子表单 (frmReview),我打算使用以下代码在我的最大化父表单上显示:
Public Sub frmTransport_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
'keyboard shortcuts
If e.KeyCode = Keys.F1 Then LaunchManual()
If e.Control Then
If e.KeyValue = Keys.R Then
Me.WindowState = FormWindowState.Maximized
Dim review As New frmReview
review.MdiParent = Me
review.Location = New Point(1175, 0)
review.BringToFront()
review.Show()
End If
...
...
End Sub
点 (1175, 0) 是 TabControl 与 Yellow mdi Container 相接的右上角。父表单的 isMdiContainer 属性设置为 True,并且当我运行此代码时,frmReview 的 Load 事件确实会触发,但我没有看到子表单:
在我拥有的另一个程序中,我使用相同的过程来显示 MDI 子窗体,它工作正常。关于为什么会发生这种情况的任何建议?
提前致谢!
【问题讨论】:
-
您知道
Location对应于控件的左上角,而您将其设置为父控件的右上角吗?试试 (588, 0),它应该在中间。您只需要计算合适的位置即可 -
我的错误 - 将其设置为 (588, 0),仍然无法正常工作
标签: vb.net mdi mdichild mdiparent