フォームを中央に表示したいのです。
はじめてに表示するときは
Me.StartPosition = FormStartPosition.CenterScreen
でできるのですが
例えばボタンをクリックした場合とかでも
フォームを中央に表示したいのです。
どうすればよいのか教えてくださればうれしいです。
尚開発環境はVB2005です。
これでどうかな。手元にマルチモニタ環境が無いので、ちょっと自信無し。
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
With Screen.FromRectangle(Bounds).WorkingArea
Location = New Point(.X + (.Width - Width) \ 2, .Y + (.Height - Height) \ 2)
End With
End Sub
> With Screen.FromRectangle(Bounds).WorkingArea
上記で、WorkingArea (タスクバー等を除いた作業領域)を使うか、
Bounds (デスクトップ領域全体)を使うかは、アプリ次第です。
全画面表示(≠最大化)のように、タスクバーを覆うようなフォームなら
Bounds、作業領域内に収まる場合には WorkingArea の方が良いかと。
以下のコードで実現できました。ありがとうございました。
Me.Top = (System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
Me.Left = (System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2