今回は自由曲線を描きます。自由曲線はまるごと移動させることはないはずなので、マウスボタンが離されたらすぐに反映させることにします。

DrawFreeLineクラス

自由曲線を描画するためのクラスを作成します。Paintと同じように線の太さは常に1とします。

マウスがドラッグされたらCurPointプロパティに座標がセットされます。これを元にして自由曲線を描画するのですが、その一つまえの座標を記憶しておき、同じものがセットされた場合は描画される内容は変わらないのでなにもしないことにします。あとはダミーのBitmapに描画して自由曲線の各点のピクセル座標を取得します。

Form2でマウスボタンが押され、移動し、ボタンが離されたときの処理を示します。

ステータスバーに次にするべき動作を表示する

それからステータスバーに現在どのような状態になっているのか、次に何をするのかを表示させたほうが親切設計だと思うので、このようにしてみるのはどうでしょうか?

ラジオボタンの状態が変更されたとき

マウスボタンが押されたとき

マウスボタンが離されたとき

Enterキーで確定したとき