【问题标题】:Drag and drop from windows forms to desktop and windows explorer从 Windows 窗体拖放到桌面和 Windows 资源管理器
【发布时间】:2011-11-22 13:29:58
【问题描述】:

我最近在 Windows 窗体外实现拖放功能时遇到了困难。我在 Windows 窗体内和窗体之间以及从桌面到窗体的拖放都没有问题。我创建了一个应用程序,您可以在其中拖放任何项目。我的问题是,我不知道如何实现我的应用程序的反向,从我的应用程序拖放到桌面或表单之外的任何目的地。任何建议和想法我都会感激地接受。谢谢。

我们在这里谈论文件和文件夹,好吧 :)

【问题讨论】:

标签: c# drag-and-drop


【解决方案1】:

我不知道您使用的是哪个控件;大多数.net 控件都有一个方法DoDragDrop。如果适合您,请使用此方法。

private void PopulateListView()
{ 
    string directoryPath=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    String[] files=System.IO.Directory.GetFiles(directoryPath);
    if(files!=null)
    {
        foreach(string file in files)
        {
            listView1.Items.Add(new ListViewItem(file));
        }
    }
}


private void listView1_MouseDown(object sender, MouseEventArgs e)
{
    System.Collections.Specialized.StringCollection filePath = new
    System.Collections.Specialized.StringCollection();
    if (listView1.SelectedItems.Count > 0)
    { 
        filePath.Add(listView1.SelectedItems[0].Text);
        DataObject dataObject = new DataObject();
        dataObject.SetFileDropList(filePath);
        listView1.DoDragDrop(dataObject, DragDropEffects.Copy);
    }
}

【讨论】:

    猜你喜欢
    • 2010-09-21
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多