C# 实现文件拖拽

说明

摘自:
https://blog.csdn.net/shufac/article/details/95045732

窗体的 AllowDrop 属性必须设置成 true

通过 DragEnter 事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等)
提示:必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的)。

在 DragDrop 事件中对“信息”进行解析。

private void Form1_DragEnter(object sender, DragEventArgs e)//获得“信息”
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effect = DragDropEffects.All;    //重要代码:表明是所有类型的数据,比如文件路径
    else
        e.Effect = DragDropEffects.None;
}

private void Form1_DragDrop(object sender, DragEventArgs e)  //解析信息
{
    string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();  //获得路径
    textBox1.Text = path;  //由一个textBox显示路径