C#でドラッグ&ドロップ(コントロールの移動)
ソース
drag時点での座標を取得しMoveイベントで座標の移動量を計算してます。
コントロールをFormからはみ出させない
formからPicturBoxがはみ出さないようにしました。
if (x >= this.width - PicturBox1.width)
上記の計算だとFormのフレーム部分もサイズに入ってしまうので
移動させているコントロールを端まで移動させると見切れてしまいます。
※System.Drawing.Pointで取得してる座標は左上端なのでpicturboxの分引いてます。
if (x >= this.ClientSize.Width - PicturBox1.Width)
ClientSizeでFormのフレームを除いたサイズを取得します。
もうひと工夫
ほんとはdrag中にちゃんとエフェクトがかかったりしてドラッグしてるって
わかるようにできれば最高だった。
やってる途中に晩飯呼ばれてどーでも良くなったのでこれ以上触らない。