[VC2005] フォームを画面の中央に配置する方法
◆概要
この資料は、Microsoft(R) Visual C#で フォームを画面の中央に配置する方法について記述しています。
◆StartPositionプロパティを設定する方法
Visual C# のフォームのデザイン時にプロパティ・ウィンドウでStartPositionプロパティをCenterScreenに設定することによって、フォームを画面の中央に配置することができます。
プログラムで設定するときは、フォームのStartPositionプロパティにFormStartPosition.CenterScreenを設定します。ただし、Form_Loadイベントハンドラではダメで、フォームのコンストラクタ内やフォームのインスタンス作成直後に設定する必要があります。
public Form1() {
InitializeComponent();
// フォームのコンストラクタ内で設定
this.StartPosition = FormStartPosition.CenterScreen;
}
/// Form2を呼び出すとき
/// フォームのインスタンス作成直後に設定
private void button1_Click(object sender, EventArgs e) {
using (Form2 _frm2 = new Form2()) {
_frm2.StartPosition = FormStartPosition.CenterScreen;
_frm2.ShowDialog(this);
}
}
◆フォームのLeftプロパティ、Topプロパティを設定する方法
フォームのLeftプロパティ、Topプロパティをフォームのロードイベントで次のように設定します。
//フォームを画面の中央に配置 this.Left = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2; this.Top = (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2; |
◆SetBoundsメッソッドで設定する方法
フォームのSetBoundsメッソッドを使って次のようにすることができます。
//フォームを画面の中央に配置 this.SetBounds((Screen.PrimaryScreen.Bounds.Width - this.Width) / 2, (Screen.PrimaryScreen.Bounds.Height- this.Height) / 2, this.Width, this.Height); |