- 対象となるオブジェクトのAllowDropプロパティを有効に設定
- DragEnterイベントハンドラでファイルの場合にコピー処理
- DragDropイベントハンドラでファイルパスを取得
// コンストラクタ
public FormMain()
{
InitializeComponent();
// ドロップ許可
this.AllowDrop = true;
// 以下、実行ファイルへのドロップ対応
string[] filepaths = Environment.GetCommandLineArgs();
// 実行ファイルだけの場合は無処理
if (filepaths.Length == 1)
return;
// 以降ドロップファイルの扱いを記述
// ~
}
// DragEnter
private void FormMain_DragEnter(object sender, DragEventArgs e)
{
// ドラッグされたオブジェクトがファイルの場合はコピー
e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
}
// DragDrop
private void FormMain_DragDrop(object sender, DragEventArgs e)
{
// ドロップしたファイル群を取得
var filepaths = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
// 以降ファイルに対しての処理を記述
}