あれ?
ドラッグアンドドロップって
どうやったっけ(;´・ω・)
ひっさびさにC#を触ったんだが、
これがさっぱり思いだせんのです・・・
いやはや、歳はとりたくないねw
ってことで、ベタにべたっと張っておく。
まずはフォームアプリを作成だ!
フォームに適当なUI要素を作成。
別になんでもいい。今回はPanelで作った。
作成したUI要素のAllowDropをTrueに変えておこう。
(ちなみに、この項目がなくてもイベントを作成することは可能みたい)
次にイベントを作成する。
まずはDragDropから。
同じ要領でDragEnterにもイベントを作成。
VisualStudioを知っている人なら分かると思うが
各イベントの欄に名前を入れるだけで
勝手に関数を作成、紐づけまで行ってくれる。
便利便利。
さて、作った関数を編集しよう。
上のようなソースを書いてみる。
超おおざっぱに解説すると、
DragEnter(ファイルをつかんでUI上にマウスを移動した)
でイベントを発生させ、そこでDropイベントが起きた際に
ドロップしたファイルをリストで取得するってかんじ。
private void Drop(object sender, DragEventArgs e) { string[] fileName = (string[])e.Data.GetData(DataFormats.FileDrop, false); // とりあえずメッセージウィンドウに表示 MessageBox.Show(fileName[0]); } private void Drag(object sender, DragEventArgs e) { // ドラッグされモノがファイル以外は何もしない if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; } }
ぶっちゃけドボンさんのところが一番分かりやすい(*‘∀‘)
ドボンさんの内容を
参考にさせていただきました!
ありがとうございます!
ふう、他力本願さいこうww
では、早速実行だ!
F5をブっ叩くがよろしい!
上手く動いてますね!
(`・ω・´)
どうやら大丈夫そうです。
という事でした。
あとはこの取得したパスを
煮るなり、焼くなり
好きに加工すればよろしい!
これでファイルのD&Dを忘れなくて済む・・・
一応プロジェクトを
GitHubに挙げておきました~
GitHubはこちら!
以上!
5分で作るドラッグアンドドロップでした~~。