フォームにドロップ

フォーム(FormMain)に対してファイルドロップ操作を行う場合。

  • フォームのAllowDropプロパティを有効にする。
  • フォームのDragDropイベントDragEnterイベントのハンドラを実装する。
/// <summary>
/// ドラッグ アンド ドロップ操作が完了したときに発生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FormMain_DragDrop(object sender, DragEventArgs e)
{
    foreach (var path in (string[])e.Data.GetData(DataFormats.FileDrop, false))
    {
        // 取得パスで何かするよろし。
    }
}

/// <summary>
/// オブジェクトがコントロールの境界内にドラッグされると発生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FormMain_DragEnter(object sender, DragEventArgs e)
{
    // ファイルドロップなら、コピー,移動,スクロールを許可
    e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.All : DragDropEffects.None;
}
タイトルとURLをコピーしました