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
    }
}

 

posted @ 2018-07-23 08:28  andorxor  阅读(499)  评论(0)    收藏  举报