Winform 实现文件拖放

Posted andorxor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform 实现文件拖放相关的知识,希望对你有一定的参考价值。

首先将需要接收文件的控件的 AllowDrop 属性设置为 True,然后分别添加 DragEnter 和 DragDrop 事件:

//当鼠标拖动到控件时发生
private void Form1_DragEnter(object sender, DragEventArgs e)
{
    //表示接收到的数据是文件类型
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        //设置鼠标效果
        e.Effect = DragDropEffects.All;
    }
}
//当拖放完成时发生
private void Form1_DragDrop(object sender, DragEventArgs e)
{
    //取出拖放数据,返回类型为 Object,需要强制转换成 string[] 类型
    var ary = e.Data.GetData(DataFormats.FileDrop) as string[];
    for (int i = 0; i < ary.Length; i++)
    {
        //数组中的每个元素都是一个文件或目录的完整路径
        var path = ary[i];
        // TODO
    }
}

 

以上是关于Winform 实现文件拖放的主要内容,如果未能解决你的问题,请参考以下文章

QT实现拖放文件(有例子,并且图文并茂,非常清楚)

如何通过拖放在 Winform 中将元文件转换为图像

套接字编程中的Java拖放问题

winform datagridview 改变某行某列的值 怎么做呢

如何拖放 recyclerView 元素?

C#的winform程序如何实现mp3文件的播放啊?