Skip to content
戻る

C#でドラッグ&ドロップ(コントロールの移動)

Published:  at  01:06

概要

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中にちゃんとエフェクトがかかったりしてドラッグしてるって
わかるようにできれば最高だった。
やってる途中に晩飯呼ばれてどーでも良くなったのでこれ以上触らない。

参考サイト

雑感

あるアイデアが浮かんで別に実用性もないし自分も使わないけど
やっぱ自分の手でもの作るって楽しいんで
作ってる途中の勉強をアウトプットしてみようかなって感じです。

応用情報の勉強しろって感じだけど



前の記事
SteamAPIを使ってユーザー情報をJson形式で受け取る
次の記事
C#でドラッグ&ドロップ(ファイルパス取得)