[英]Drag and drop from windows forms to desktop and windows explorer
最近我在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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.