概要
Form内のコントロールをドラッグ&ドロップで移動させるプログラム
目次
ソース
https://github.com/Lycheejam/control_move/blob/master/Form1.cs 🔗
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中にちゃんとエフェクトがかかったりしてドラッグしてるって
わかるようにできれば最高だった。
やってる途中に晩飯呼ばれてどーでも良くなったのでこれ以上触らない。
参考サイト
雑感
あるアイデアが浮かんで別に実用性もないし自分も使わないけど
やっぱ自分の手でもの作るって楽しいんで
作ってる途中の勉強をアウトプットしてみようかなって感じです。
応用情報の勉強しろって感じだけど