Drag'n Drop文件下载C#

时间:2014-06-03 11:14:33

标签: c# drag-and-drop downloading

我遇到了问题。我想将文件从我的表单拖放到资源管理器/桌面。

问题是文件在线。然后,必须先将其下载到磁盘上的某个位置,然后再将其复制到目标文件夹中。

我创建了一个shell扩展(我认为无论如何),谁使用后台工作程序来下载文件,当然,即使这样,当文件下载时,拖动和放弃操作并没有结束,用户界面正在冻结。

我想做的只是拖放到资源管理器,它将启动下载并复制文件,而不会在下载过程中冻结用户界面。

那么,我该怎么办?

我可以获取目标路径并自行复制吗?

我可以在另一个线程中启动整个拖放操作吗?

我搜索了一会儿,无法找到任何明确的答案。

2 个答案:

答案 0 :(得分:0)

对这两个问题进行完全合理的分离:拖放&丢弃与文件的实际下载/保存。

处理阻力&完全删除操作,并在完成后(通常在OnDragDrop方法中),开始下载和保存过程。你可能想要在某个地方表明进展。

在拖放操作期间尝试全部,似乎注定要失败。您永远不会知道下载可能需要多长时间,或者它是否会完全失败。在拖曳和中间处理任何一个下降似乎很糟糕。

答案 1 :(得分:0)

您可以在放置事件处理程序中调用BackgroundWorkder