.NETのPointToScreen


 忘れないうちにメモ。

 Control.PointToScreen()というメソッド。

 スクリーン座標を取得するメソッド。
 「指定したコントロールのクライアント座標」という点がミソで、普通にフォームに貼り付けたコントロールは良いのだが、コンテナーを使っている場合でも一番最後のコントロールとなる。
 そのため、コンテナーが多重になっている場合、例えばグループボックスにボタンを配置している時、そのボタン自体の座標をスクリーン座標に変換したい時は、グループボックスを指定することになる。
 groupbox1.PointToScreen(button1.Location.X, button1.Location.Y);という感じだ。

 クループボックスの中にタブコントロールがあって、更にその中にグループボックスがあって、そこにテキストボックスが貼られている場合、テキストボックスのスクリーン座標は、その1つ上の親を指定することになる。
 textBox1.Parent.PointToScreen(textBox1.Location.X, textBox1.Location.Y);となる。多重の場合も問題なくこれでわかる。

 Form1.PointToScreen()とならないところがミソである。というか、フォームを使うと思ってたよ。

 忘れるな。自分。

この記事へのコメント


この記事へのトラックバック