Windows フォームの座標

Windows フォームの座標はデバイス座標に基づいていて、Windows フォームで描画する際の基本的な測定単位はデバイス単位 (通常はピクセル) となります。 画面上の点は、x および y 座標のペアで記述されます。x 座標は右に向かって増加し、y 座標は上から下に向かって増加します。 画面を基準とした原点の位置は、画面座標またはクライアント座標のどちらを指定するかによって異なります。

画面座標

Windows フォーム アプリケーションでは、画面上のウィンドウの位置を画面座標で指定します。 画面座標の場合、原点は画面の左上隅になります。 ウィンドウの完全な位置は、多くの場合、ウィンドウの左上隅および右下隅を定義する 2 つの点の画面座標が格納された Rectangle 構造体によって記述されます。

クライアント座標

Windows フォーム アプリケーションでは、フォームまたはコントロール内の点の位置をクライアント座標を使用して指定します。 クライアント座標の原点は、コントロールまたはフォームのクライアント領域の左上隅です。 クライアント座標により、アプリケーションでは、フォームまたはコントロールでの描画中は画面上でのフォームまたはコントロールの位置に関係なく、一貫した座標値を確実に使用できます。

クライアント領域のディメンションは、その領域のクライアント座標が格納された Rectangle 構造体によっても記述されます。 いずれの場合も、四角形の左上の座標はクライアント領域に含まれ、右下の座標は除外されます。 グラフィックス操作に、クライアント領域の右端と下端は含まれません。 たとえば、FillRectangle メソッドを実行すると、指定された四角形の右端と下端まで塗りつぶされますが、これらの端は含まれません。

種類の異なる座標間のマッピング

場合によっては、画面座標からクライアント座標にマップする必要があります。 これは、Control クラスで利用できる PointToClient および PointToScreen メソッドを使用して簡単に実現できます。 たとえば、ControlMousePosition プロパティは画面座標で報告されますが、これをクライアント座標に変換することもできます。

関連項目