フォームの位置(左と上の座標)を取得/設定する [C#]

C#でWindowsフォームアプリケーションのフォームの位置を取得/設定する方法を紹介します。
フォームの位置を取得または設定するには、System.Windows.Forms名前空間にあるFormクラスのLocationプロパティ、またはLeftプロパティ、Topプロパティを使用します。

本記事ではVisual Studioで作成した、Windowsフォームアプリケーションのプロジェクトに記述するコードを記載します。
Windowsフォームアプリケーションのプロジェクトを作成する方法については、以下の記事を参照してください。

Windowsフォームアプリケーションのプロジェクト(ソリューション)を作成する。[C#]
Visual StudioでC#のWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する方法を記載します。 ...

フォームの位置を取得する

Locationプロパティは画面座標におけるフォームの左上隅を表す位置をSystem.Drawing名前空間のPoint構造体で返します。

Point構造体のXはフォームの左の座標、Yはフォームの上の座標になります。

LocationプロパティはPoint構造体を使用してフォームの位置を指定しますが、フォームの位置(左上)はLeftプロパティとTopプロパティでそれぞれ取得することもできます。

フォームの位置を設定する

デザイナーのプロパティグリッドで設定する

フォームの位置は、フォームデザイナーのプロパティグリッドで設定できます。

フォームデザイナーを開きます。
フォームデザイナーを開いたら、プロパティウィンドウを表示します。
プロパティウィンドウが表示されていない場合は、メニューバーの「表示」メニューにある「プロパティ ウィンドウ」をクリックするかF4キーを押してください。

フォームデザイナーのプロパティグリッド
上記の画像のプロパティグリッドは項目別ではなくアルファベット順で表示しています。

デザイナーのプロパティグリッドにあるLocationプロパティのテキストボックスに、X座標とY座標をカンマ(,)で区切って入力します。

フォームデザイナーのLocationプロパティ

Locationプロパティの左にある「+」をクリックすると、X座標(Left)とY座標(Top)が展開して表示されますので、X座標(Left)とY座標(Top)をそれぞれのテキストボックスに入力することもできます。

フォームデザイナーのLocationプロパティのXとY

フォームの位置を指定する際は、フォームのStartPositionプロパティの値にFormStartPosition.Manualを指定します。

フォームデザイナーのStartPositionプロパティ

コードで設定する

フォームを表示する位置は、コードで設定することもできます。

Locationプロパティ

LocationプロパティにPoint構造体を指定することで、フォームの位置を設定することができます。

フォームの位置を設定する際は、フォームのStartPositionプロパティの値をFormStartPosition.Manualにします。

Locationプロパティ

Locationプロパティの代わりに、LeftプロパティとTopプロパティで指定する場合は、以下のようになります。