Windows用の座標系

最近では、チャールズ・ペゾルドのプログラミングを見てきたマイクロソフトではものの多くの詳細がありますが、C#のでWindowsを、ので、初心者でも簡単に混乱や誤解し、その要約を行うことができます。この資料では、Windowsの下で、座標系に焦点を当て、異なる座標系で点を表します。

(あなたはデスクトップの座標数えるならば、それは4種類あり、)3点の座標は、Windowsの下にあります:
1.クライアント座標:懸念点座標がクライアント領域の左上隅に対する相対
2.フォーム座標:フォームにポイントの相対座標左上隅のための
ポイントを基準点では、画面の左上隅座標:3画面座標

た場合(デスクトップ座標とスクリーン座標は、ほとんどのケースでは同じですが、タスクバーが左側にや単語の上にある場合は異なるものになります左X Sreen > X デスクトップ、上側Yの場合、同じ画面 > Yのデスクトップ)。

OK、のは、異なる座標系に変換する方法を見てみましょう。我々は非常に多くの言葉での.NET FrameworkのリアクションSystem.Windows.Forms.Control.Locationの性質があることに注意してください:コントロールフォーム場合は、Locationプロパティの値が(スクリーン座標での)フォームの左上隅を表します。したがって、(画面にX座標の座標画面、Yスクリーン座標(座標のForm1でXに)、Yの)、以下の式:
Xの画面 = Xの + location.x
Yの画面 = Yの + location.yは


またSystem.Windows .NET Frameworkのことに注意してください。 Forms.Form.DesktopLocationは言葉属性備考:画面ベースのデスクトップは、作業領域を調整し、面積はタスクバーが含まれていません。我々は、デスクトップ座標(X座標ができるデスクトップ、Y デスクトップ(X座標の座標)、フォーム、フォーム Yの、フォーム)各変換:
X デスクトップ = Xの + DesktopLocation.X
Y デスクトップ = Yの + DesktopLocation.Y

約代数は、デスクトップとの間に互いに変換することができる座標とスクリーン座標
X デスクトップ = Xの画面 + DesktopLocation.X - location.x
Y デスクトップ  = Yの画面 + DesktopLocation.Y - location.yは、


クライアント座標低下します次に各実施例の方法により、メソッドを有するように座標変換し、PointToScreen制御PointToClientは、クライアント画面の座標の座標座標下交換座標、その後さらに変換上記の式を使用して。

ます。https://www.cnblogs.com/mcliu/archive/2006/02/17/332856.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33920401/article/details/93930012
おすすめ