方法 : Windows フォームの画面上の位置を設定する
コンピューター画面上のフォームの表示位置を指定するには、Location プロパティに値を入力します。 このプロパティに値を入力して、フォームの左上隅の位置をピクセル単位で指定します。 また表示領域の 境界を表示するに StartPosition のプロパティを設定する必要があります。
注意
通常、表示サイズおよび解像度は、ユーザーのシステムによって異なります。また、複数のモニターが接続されたシステムでは、表示領域の境界線を認識するときに問題が生じることがあります。この 2 つの状況では、Location プロパティの設定にかかわらず、フォームが予想外の位置に表示されることがあります。このため、Windows アプリケーションの StartPosition プロパティは、既定で WindowsDefaultLocation に設定されています。この既定値がプロパティに設定されている場合、オペレーティング システムの起動時に、使用中のハードウェアに基づいて最適なフォームの位置が計算されます。また、コード内で StartPosition プロパティを [Center] に設定してから、フォームの位置を変更することもできます。詳細については、後述の「プログラムでフォームの位置を設定するには」を参照してください。
[プロパティ] ウィンドウを使用して、フォームの位置を設定するには
[プロパティ] ウィンドウのドロップダウン リストで、フォームを選択します。 コントロールの StartPosition プロパティを Manual に設定します。
Location プロパティの値をコンマで区切って入力し、フォームの位置を設定します。最初の数値 (X) は、表示領域の左端からフォームまでの距離、2 番目の数値 (Y) は、表示領域の上端からフォームまでの距離を表します。
プログラムでフォームの位置を設定するには
実行時にフォームの位置を定義するには、次の例のように、フォームの Location プロパティを Point に設定します。
Form1.Location = New Point(100, 100)
Form1.Location = new Point(100, 100);
Form1->Location = Point(100, 100);
または
Left プロパティ (X 座標用) と Top プロパティ (Y 座標用) を使用して、フォームの位置の X 座標と Y 座標を変更します。 フォームの X 座標を 300 ピクセルの位置に調整するコード例は、次のとおりです。
Form1.Left = 300
Form1.Left = 300;
Form1->Left = 300;
プログラムでインクリメントして、フォームの位置を変更するには
フォームの位置の X 座標を大きくするには、Left プロパティを使用します。 フォームの X 座標を 200 ピクセル大きくするコード例は、次のとおりです。
Form1.Left += 200
Form1.Left += 200;
Form1->Left += 200;
注意
Windows フォームの X 座標および Y 座標を同時に設定するには、Location プロパティを使用します。個々に設定するには、フォームの Left (X) または Top (Y) の各プロパティを使用します。フォームの位置を表す Point に含まれているのは、フォームの座標のコピーであるため、X 座標および Y 座標を暗黙的に設定することはできません。
Location プロパティの代わりに DesktopLocation プロパティを使用して、フォームの位置を設定することもできます。 DesktopLocation プロパティでは、タスクバーからの相対距離でフォームの位置を設定します。この方法は、タスクバーがモニターの上端または左端にドッキングしている場合に便利です。 タスクバーが上端または左端にドッキングしている場合は、デスクトップの (0,0) 座標が不定義の状態になります。 DesktopLocation のプロパティが 設定されているフォームが (00) に主要モニターのないタスク バーの左上隅に常に表示されます。
プログラムで DesktopLocation プロパティを設定するには
他のプロパティと同様に、DesktopLocation プロパティを設定します。 Accounts フォームの位置を設定するコード例は、次のとおりです。
Dim frmAccounts as new Form() Set FrmAccounts.DesktopLocation = new Point(100,100)
Form frmAccounts= new Form(); frmAccounts.DesktopLocation = new Point(100,100);
Form^ frmAccounts= gcnew Form(); frmAccounts->DesktopLocation = Point(100,100);
注意
DesktopLocation プロパティは [プロパティ] ウィンドウには表示されず、コードでしか設定できません。