MDI дочерняя форма не будет центром другой дочерней MDI формы в том же Parrent? - PullRequest
0 голосов
/ 13 июня 2019

Здравствуйте, у меня есть дочерняя форма mdi (форма A), которая при нажатии отображает другую дочернюю форму mdi (форма B), обе из которых имеют одну и ту же родительскую форму. Проблема в том, что я не могу найти способ отцентрировать дочернюю форму B к дочерней форме A? Это даже разрешено в vb.net? Однако я могу отобразить форму B (как дочерний элемент не mdi) с центром в форме A (как дочерний объект mdi), что странно. И хотя теперь это может решить эту проблему, так это то, что граница форм в Windows 8, по крайней мере, визуально полностью отличается от формы mdi в Windows 8, поэтому все выглядит беспорядочно и грязно?

1 Ответ

0 голосов
/ 13 июня 2019

Вот один из способов сделать это:

Public Class MdiChildA

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim childB As New MdiChildB
        childB.MdiParent = Me.MdiParent
        AddHandler childB.Load, AddressOf child_Load
        childB.Show()
    End Sub

    Private Sub child_Load(sender As Object, e As EventArgs)
        Dim otherChild As Form = DirectCast(sender, Form)
        otherChild.StartPosition = FormStartPosition.Manual
        otherChild.Location = New Point((Me.Location.X + Me.Size.Width / 2) - otherChild.Size.Width / 2,
                                        (Me.Location.Y + Me.Size.Height / 2) - otherChild.Size.Height / 2)
    End Sub

End Class
...