C#(.net) ドロー系ソフト作成 図形選択方法
C#(.net framework 4.0)で現在業務に使用しているソフトで、地図画像に対して、ごく初歩的な図形(直線や矢印、円、四角形、文字程度)を挿入する事が必要になりそうでして、ドローソフト系のようなプログラミングを行いたいと思っています。(Excel上での図形挿入の様なイメージ)
Graphicsを使用して、線や塗りなどの描画はすぐにできると思うのですが、一度描画した線や四角を移動させたり大きさを調整したりするために、対象の図形をマウスでクリックして選択する方法がまるでうかびません。通常、この「図形を選択する」というのはどのように実現させているのでしょうか?思いつくものとしては、
図形をコントロールとして扱い、マウスイベントを直接受け取れるようにする?
(そもそもコントロールの使い方として間違っているような気がしますし、パフォーマンスにかなりの悪影響がありそう…)
別に座標マップを作り、どの図形がどのドットに対応しているかを記録する?
(線を引いた結果、どの座標がどの図形かをすべて計算する必要があると、かなりの計算とコード量になりそう…)
くらいです。基本的な、もしくは一般的な方法や考え方がありましたら是非教えてください。ペイント系ならそれなりにネット上に情報はあるような気もするのですが、ドロー系に関する情報はなかなか少ないようで困っています。ドロー系ソフト作成時に参考になるコードや情報や本などありましたら、そちらも教えていただけると助かります。よろしくお願いいたします。
P.S. 質問投稿時にさんざん迷ったのですが、C#(.Net Framework)のカテゴリーって、こちらの C・C++ でよろしかったんでしょうかw