フォームの初期表示位置を設定する方法を紹介します。
フォームの初期表示位置を指定すると、実行時にフォームが表示されるときの開始位置を設定できます。スクリーンの中央、表示されるフォームを所有する親フォームの中央、スクリーンの指定した位置など、任意の位置に表示することができます。
本記事ではVisual Studioで作成した、Windowsフォームアプリケーションのプロジェクトに記述するコードを記載します。
Windowsフォームアプリケーションのプロジェクトを作成する方法については、以下の記事を参照してください。
フォームの初期表示位置を設定する
フォームの初期表示位置は、System.Windows.Forms名前空間にあるFormクラスのStartPositionプロパティで設定します。
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "StartPosition"; // フォームの初期表示位置を設定 form.StartPosition = FormStartPosition.WindowsDefaultLocation; form.Show(); |
StartPositionプロパティにはFormStartPosition列挙型の値を指定します。
FormStartPosition列挙型
FormStartPosition列挙型には以下のメンバー(フィールド)があります。
名前 | 値 | 説明 |
---|---|---|
Manual | 0 | フォームの位置は、Locationプロパティによって決定されます。 |
CenterScreen | 1 | フォームは、現在の表示の中央に配置され、フォームのサイズとして指定された大きさになります。 |
WindowsDefaultLocation | 2 | フォームはWindowsの既定位置に配置され、フォームのサイズとして指定された大きさになります。 |
WindowsDefaultBounds | 3 | フォームはWindowsの既定位置に配置され、Windowsの既定により決定されている境界を持ちます。 |
CenterParent | 4 | フォームは親フォームの境界内の中央に配置されます。 |
FormクラスのStartPositionプロパティの初期値はFormStartPosition.WindowsDefaultLocationになります。
サンプルコード
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "Manual"; // フォームの初期表示位置をマニュアルに設定 form.StartPosition = FormStartPosition.Manual; form.Show(); |
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "CenterScreen"; // フォームの初期表示位置をスクリーンの中央に設定 form.StartPosition = FormStartPosition.CenterScreen; form.Show(); |
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "WindowsDefaultLocation"; // フォームの初期表示位置をWindowsの既定位置に設定 form.StartPosition = FormStartPosition.WindowsDefaultLocation; form.Show(); |
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "WindowsDefaultBounds"; // Windowsの既定の境界を持つフォームの初期表示位置をWindowsの既定位置に設定 form.StartPosition = FormStartPosition.WindowsDefaultBounds; form.Show(); |
1 2 3 4 5 6 |
// フォームのインスタンスを生成 Form form = new Form(); form.Text = "CenterParent"; // フォームの初期表示位置を親フォームの中央に設定 form.StartPosition = FormStartPosition.CenterParent; form.ShowDialog(this); |
StartPositionプロパティは、フォームが表示される前に設定する必要があります。
StartPositionプロパティにFormStartPosition.CenterParentを指定する場合は、フォームをShowDialogメソッドで表示する必要があります。