.NET TIPS Windowsフォームの開始表示位置を設定するには? - C# VB.NET

 

.NET TIPS

Windowsフォームの開始表示位置を設定するには?

デジタルアドバンテージ 遠藤 孝信
2005/09/09

 通常、Windowsフォームの開始表示位置(Windowsアプリケーション実行開始時のウィンドウの表示位置)はWindowsによって適切に決められる。しかし、フォームをデスクトップの中央に表示したり、任意の位置に表示したりすることも可能だ。本稿ではこれらの方法についてまとめる。

デフォルトの開始表示位置

 フォームの開始表示位置は、フォームのStartPositionプロパティの値によって決まる。このプロパティにはFormStartPosition列挙体(System.Windows.Forms名前空間)の値を設定するが、そのデフォルト値はFormStartPosition.WindowsDefaultLocationである。この場合、フォームの表示位置はWindowsによって自動的に決定される。

デスクトップの中央に表示

 アプリケーションの実行開始時に、フォームをデスクトップの中央に表示するには、フォームのStartPositionプロパティにFormStartPosition.CenterScreenを設定すればよい。

this.StartPosition = FormStartPosition.CenterScreen;
Me.StartPosition = FormStartPosition.CenterScreen
フォームをデスクトップの中央に表示(上:C#、下:VB.NET)
thisやMeはフォームのインスタンスを参照しているものとする。

 なお、StartPositionプロパティの設定はフォームが表示される前に設定しておく必要がある(通常はフォームのコンストラクタ内やフォームのインスタンス作成直後に設定する。Visual Studio .NETではフォームのデザイン時にプロパティ・ウィンドウで設定できる)。

任意の位置に表示

 アプリケーションの実行時にフォームを任意の位置に表示するには、まずStartPositionプロパティをFormStartPosition.Manualに設定する。そして表示位置をフォームのLocationプロパティあるいはDesktopLocationプロパティに設定する。

 Locationプロパティを設定した場合、その座標系の原点は画面の左上隅となる。

this.StartPosition = FormStartPosition.Manual;
this.Location = new Point(0, 0);
Me.StartPosition = FormStartPosition.Manual
Me.Location = New Point(0, 0)
フォームを任意の位置に表示(上:C#、下:VB.NET)
thisやMeはフォームのインスタンスを参照しているものとする。この例では、フォームを画面の左上隅に表示している。

 Locationプロパティの代わりに、LeftプロパティとTopプロパティにより表示位置のX座標とY座標を個別に設定することもできる。

 次に、Locationプロパティではなく、DesktopLocationプロパティにより表示位置を設定する場合のコード例を示す。DesktopLocationプロパティはコードによってのみ設定でき、プロパティ・ウィンドウからは設定できない。

this.StartPosition = FormStartPosition.Manual;
this.DesktopLocation = new Point(0, 0);
Me.StartPosition = FormStartPosition.Manual
Me.DesktopLocation = New Point(0, 0)
フォームを任意の位置に表示(上:C#、下:VB.NET)
thisやMeはフォームのインスタンスを参照しているものとする。この例では、フォームをデスクトップの作業領域内の左上隅に表示している。

 DesktopLocationプロパティにより表示位置を指定した場合、その座標系の原点はデスクトップの表示領域の左上隅となる。このため、デスクトップの左部や上部にツールバーやタスク・バーなどをドッキングさせて表示していても、フォームがそれらに隠れることがない。

 以下の画面はLocationプロパティとDesktopLocationプロパティの違いを示している。

 なお、フォームが表示された後(例えばLoadイベントの発生時)では、StartPositionプロパティの設定なしにLocationプロパティやDesktopLocationプロパティによりフォームの表示位置を設定できる。

 また、フォームをダイアログ・ボックスとして使用する場合の開始表示位置については「TIPS:ダイアログ・ボックスの開始表示位置を設定するには?」 でまとめているので、そちらも参照していただきたい。End of Article

カテゴリ:Windowsフォーム 処理対象:ウィンドウ
使用ライブラリ:Formクラス(System.Windows.Forms名前空間)
使用ライブラリ:FormStartPosition列挙体(System.Windows.Forms名前空間)
関連TIPS:ダイアログ・ボックスの開始表示位置を設定するには?



TechTargetジャパン

Insider.NET 記事ランキング

本日 月間