簡體   English   中英

從Windows窗體拖放到桌面和Windows資源管理器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM