• ベストアンサー

C# マルチディスプレイにて、フォームの初期位置をCenterScre

C# マルチディスプレイにて、フォームの初期位置をCenterScreenにした場合 いつもお世話になっております。 フォームの初期位置をCenterScreenにしているのですが ディスプレイが2画面あり、メインディスプレイが右、サブが左の時 サブディスプレイの中央にフォームが表示されてしまいます。 どんなディスプレイ構成でも、必ずメインディスプレイに表示するように設定するにはどうしたらいいでしょうか。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • wtm909
  • ベストアンサー率60% (3/5)
回答No.1

実際に試してないのですが Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2 ; Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width ) / 2 ; で、どうでしょうか?

tasoh
質問者

お礼

回答ありがとうございます。 提示していただいた方法で試したところ、うまくいきました。 少し変更を加え、以下の方法で落ち着きました。 int x = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2 + Screen.PrimaryScreen.WorkingArea.X; int y = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2 + Screen.PrimaryScreen.WorkingArea.Y; this.Location = new Point(x, y); ありがとうございました!

関連するQ&A

専門家に質問してみよう