VB.NET でフォームを配置するための組み込み機能は、必ずしも使用に適しているとは限らないため、サブを作成してそれを実行しようとしています。
しかし、私は何かを逃した...
Public Sub form_center(ByVal frm As Form, Optional ByVal parent As Form = Nothing)
Dim x As Integer
Dim y As Integer
Dim r As Rectangle
If Not parent Is Nothing Then
r = parent.ClientRectangle
x = r.Width - frm.Width + parent.Left
y = r.Height - frm.Height + parent.Top
Else
r = Screen.PrimaryScreen.WorkingArea
x = r.Width - frm.Width
y = r.Height - frm.Height
End If
x = CInt(x / 2)
y = CInt(y / 2)
frm.StartPosition = FormStartPosition.Manual
frm.Location = New Point(x, y)
End Sub
このサブが定義されている場合、画面または他のフォームの中央にフォームを正しく配置するにはどうすればよいですか?