.NET TIPS Windowsフォームの開始表示位置を設定するには?デジタルアドバンテージ 遠藤 孝信2005/09/09 |
|
|
通常、Windowsフォームの開始表示位置(Windowsアプリケーション実行開始時のウィンドウの表示位置)はWindowsによって適切に決められる。しかし、フォームをデスクトップの中央に表示したり、任意の位置に表示したりすることも可能だ。本稿ではこれらの方法についてまとめる。
デフォルトの開始表示位置
フォームの開始表示位置は、フォームのStartPositionプロパティの値によって決まる。このプロパティにはFormStartPosition列挙体(System.Windows.Forms名前空間)の値を設定するが、そのデフォルト値はFormStartPosition.WindowsDefaultLocationである。この場合、フォームの表示位置はWindowsによって自動的に決定される。
デスクトップの中央に表示
アプリケーションの実行開始時に、フォームをデスクトップの中央に表示するには、フォームのStartPositionプロパティにFormStartPosition.CenterScreenを設定すればよい。
|
||
フォームをデスクトップの中央に表示(上:C#、下:VB.NET) | ||
thisやMeはフォームのインスタンスを参照しているものとする。 |
なお、StartPositionプロパティの設定はフォームが表示される前に設定しておく必要がある(通常はフォームのコンストラクタ内やフォームのインスタンス作成直後に設定する。Visual Studio .NETではフォームのデザイン時にプロパティ・ウィンドウで設定できる)。
任意の位置に表示
アプリケーションの実行時にフォームを任意の位置に表示するには、まずStartPositionプロパティをFormStartPosition.Manualに設定する。そして表示位置をフォームのLocationプロパティあるいはDesktopLocationプロパティに設定する。
Locationプロパティを設定した場合、その座標系の原点は画面の左上隅となる。
|
||
フォームを任意の位置に表示(上:C#、下:VB.NET) | ||
thisやMeはフォームのインスタンスを参照しているものとする。この例では、フォームを画面の左上隅に表示している。 |
Locationプロパティの代わりに、LeftプロパティとTopプロパティにより表示位置のX座標とY座標を個別に設定することもできる。
次に、Locationプロパティではなく、DesktopLocationプロパティにより表示位置を設定する場合のコード例を示す。DesktopLocationプロパティはコードによってのみ設定でき、プロパティ・ウィンドウからは設定できない。
|
||
フォームを任意の位置に表示(上:C#、下:VB.NET) | ||
thisやMeはフォームのインスタンスを参照しているものとする。この例では、フォームをデスクトップの作業領域内の左上隅に表示している。 |
DesktopLocationプロパティにより表示位置を指定した場合、その座標系の原点はデスクトップの表示領域の左上隅となる。このため、デスクトップの左部や上部にツールバーやタスク・バーなどをドッキングさせて表示していても、フォームがそれらに隠れることがない。
以下の画面はLocationプロパティとDesktopLocationプロパティの違いを示している。
なお、フォームが表示された後(例えばLoadイベントの発生時)では、StartPositionプロパティの設定なしにLocationプロパティやDesktopLocationプロパティによりフォームの表示位置を設定できる。
また、フォームをダイアログ・ボックスとして使用する場合の開始表示位置については「TIPS:ダイアログ・ボックスの開始表示位置を設定するには?」 でまとめているので、そちらも参照していただきたい。
カテゴリ:Windowsフォーム 処理対象:ウィンドウ 使用ライブラリ:Formクラス(System.Windows.Forms名前空間) 使用ライブラリ:FormStartPosition列挙体(System.Windows.Forms名前空間) 関連TIPS:ダイアログ・ボックスの開始表示位置を設定するには? |
TechTargetジャパン
Insider.NET 記事ランキング
本日 月間