.NETのPointToScreen
忘れないうちにメモ。
Control.PointToScreen()というメソッド。
スクリーン座標を取得するメソッド。
「指定したコントロールのクライアント座標」という点がミソで、普通にフォームに貼り付けたコントロールは良いのだが、コンテナーを使っている場合でも一番最後のコントロールとなる。
そのため、コンテナーが多重になっている場合、例えばグループボックスにボタンを配置している時、そのボタン自体の座標をスクリーン座標に変換したい時は、グループボックスを指定することになる。
groupbox1.PointToScreen(button1.Location.X, button1.Location.Y);という感じだ。
クループボックスの中にタブコントロールがあって、更にその中にグループボックスがあって、そこにテキストボックスが貼られている場合、テキストボックスのスクリーン座標は、その1つ上の親を指定することになる。
textBox1.Parent.PointToScreen(textBox1.Location.X, textBox1.Location.Y);となる。多重の場合も問題なくこれでわかる。
Form1.PointToScreen()とならないところがミソである。というか、フォームを使うと思ってたよ。
忘れるな。自分。
この記事へのコメント