2011-02-14 6 views
32

私はコントロールを持ち、その位置はその親に対して相対的であるとしましょう。それが何度も埋め込まれていて、メインフォームの偉大な偉大な孫である場合、その親の位置だけでなく、画面全体にその位置がどのようになっているのかをどのように判断できますか?これはスクリーンショットを介して特定のコントロールを印刷するためのものです(一部のコントロールではDrawToBitmapが正しく機能しないため)。コントロール全体の位置を取得するには?

答えて

80

あなたはPointToScreen methodを探しています:

Point location = someControl.PointToScreen(Point.Empty); 
+2

注PointToScreenが_client area_座標をとり、そのインスタンスのフォームにこのコードを使用すると、正しい結果が得られないだろうと。 – rymdsmurf

+3

@rymdsmurf私はあなたを正しく理解しているかどうかはわかりませんが、 'フォーム'( 'myForm.PointToScreen'など)で使用し、正しい座標(' control.Location'から)画面上。 – Artholl