方法 : Windows フォームの画面上の位置を設定する
更新 : 2007 年 11 月
コンピュータ画面上のフォームの表示位置を指定するには、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.set_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.set_Left(300);
Form1->Left = 300;
プログラムでインクリメントして、フォームの位置を変更するには
フォームの位置の X 座標を大きくするには、Left プロパティを使用します。フォームの X 座標を 200 ピクセル大きくするコード例は、次のとおりです。
Form1.Left += 200
Form1.Left += 200;
Form1.set_Left(Form1.get_Left() + 200);
Form1->Left += 200;
メモ : Windows フォームの X 座標および Y 座標を同時に設定するには、Location プロパティを使用します。個々に設定するには、フォームの Left (X) または Top (Y) の各プロパティを使用します。フォームの位置を表す Point に含まれているのは、フォームの座標のコピーであるため、X 座標および Y 座標を暗黙的に設定することはできません。
Location プロパティの代わりに DesktopLocation プロパティを使用して、フォームの位置を設定することもできます。DesktopLocation プロパティでは、タスクバーからの相対距離でフォームの位置を設定します。この方法は、タスクバーがモニタの上端または左端にドッキングしている場合に便利です。タスクバーが上端または左端にドッキングしている場合は、デスクトップの (0,0) 座標が不定義の状態になります。DesktopLocation プロパティが (0, 0) に設定されているフォームは、常に主要モニタの左上隅に表示されますが、タスクバーの後方に隠れることはありません。
プログラムで 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 = new Form(); frmAccounts.set_DesktopLocation(new Point(100, 100));
Form^ frmAccounts= gcnew Form(); frmAccounts->DesktopLocation = Point(100,100);
メモ : DesktopLocation プロパティは [プロパティ] ウィンドウには表示されず、コードでしか設定できません。