gpt4 book ai didi

c# - 拖放到桌面/资源管理器

转载 作者:IT王子 更新时间:2023-10-29 04:13:04 24 4
gpt4 key购买 nike

按照我的场景。

我得到了一个应用程序,它将文件结构(文件夹、文件)从数据库加载到 WPF ListView 中。现在我想从这个 ListView 中抓取一个文件,将它拖到我的桌面(或一些打开的资源管理器窗口)上并将它放在那里。基本的拖放,没什么特别的。这听起来像是 Windows 应用程序的“标准”功能 - 但谷歌无济于事。

那么我该如何实现呢?互操作?

谢谢

编辑:感谢您提供的解决方案,我仍然需要进行一些谷歌搜索。 Here's my complete solution .

最佳答案

DragDrop.DoDragDrop 可以执行此操作,只要您将适当的 DataObject 传递给它即可。

首先将文件复制到某处。如果没有更好的地方,您可以使用 System.IO.Path.GetTempPath()

接下来创建一个包含文件完整路径的字符串数组并执行以下操作:

string[] paths = ...;
DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),
DragDropEffects.Copy);

实际上可以在不预先复制文件的情况下执行此操作,但这会涉及一些复杂的 IDataObject 交互,因此除非您的文件可能非常大并且不在文件系统中,否则我会首先尝试此方法。

关于c# - 拖放到桌面/资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com