我最近在 Windows 窗体外实现拖放功能时遇到了困难。我在 windows 窗体内和窗体之间以及从桌面到 windows 窗体进行拖放操作没有问题。我创建了一个应用程序,您可以在其中拖放任何项目。我的问题是,我不知道如何实现我的应用程序的反向操作,从我的应用程序拖放到桌面或表单外的任何目的地。我将不胜感激地接受任何建议和想法。谢谢你。
我们在这里谈论文件和文件夹 好的 :)
最佳答案
我不知道你用的是哪个控件;大多数 .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);
}
}
关于c# - 从Windows窗体拖放到桌面和Windows资源管理器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8227621/