我希望用户能够将元素从我的程序拖到桌面上,以便从它们创建文件。将此信息嵌入到DataObject中的最简单方法是什么,以便资源管理器可以接受drops并创建适当的文件?
我的拖放经验有限,到目前为止,我能想到的唯一方法是在一个临时目录中实际创建文件,并通过DataFormat“FileDrop”将它们的路径附加到DataObject……但肯定有更好的办法。
发布于 2010-07-10 15:34:41
基本上,我知道你想做的是将一个不存在的文件从你的应用程序拖到资源管理器中,然后创建一个物理文件。
那么,创建一个临时文件然后在DataObject中设置它的解决方案可能是最快捷的解决方案。
不创建临时磁盘文件的“正确”解决方案将需要大量的P/Invoke类型互操作来创建自定义IDataObject,它可以从内存而不是物理源文件呈现文件描述符和内容。我没有在.NET中做到这一点,但我可以猜到这将是相当多的工作。
https://stackoverflow.com/questions/3219681
复制