- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经为此苦苦挣扎了一段时间
我的应用程序包含一个 ListView ,填充了位于服务器上的文件名。
我正在尝试实现拖放功能,以便用户可以将文件从我的应用程序拖到他/她的本地计算机中。
为此,我首先将文件下载到一个临时位置,然后调用我的应用程序的 DoDragDrop() 方法。
问题是我只想在调用 DoDragDrop 方法之后执行下载过程。
我已经尝试了与拖放方法相关的所有事件(GiveFeedback、ItemDrag 等...),但没有任何效果
所以基本上我需要的是一个事件,在 DoDragDrop 完成后引发
有什么想法吗??
最佳答案
不确定如何在 .NET 中执行此操作,但在常规 Win32 编程中,实现 IDataObject 接口(interface)的对象也可以选择实现 IAsyncOperation 接口(interface)。然后 IDropTarget 可以使用该接口(interface)在后台线程中执行拖放操作,这样源和目标在实际传输过程中就不会被阻塞。唯一的问题是目标,而不是源,决定是否利用这一点。
另一种方法是使用“优化移动”传输,其中 IDataObject 提供文件名,IDropTarget 直接移动文件。
MSDN 对此有详细说明:Handling Shell Data Transfer Scenarios .
当然,这仍然意味着您必须在开始拖放之前下载文件。确实没有办法执行拖放来确定目标,然后再执行下载。不过,您可以做的是让 IDataObject 保留 CFSTR_FILEDESCRIPTOR
和 CFSTR_FILECONTENTS
条目(此处描述:Shell Clipboard Formats),其中 CFSTR_FILEDESCRIPTOR
是从用于填充 ListView 的信息中填充,CFSTR_FILECONTENTS
使用 IStream 接口(interface),其实现在实际放置操作期间而不是之前执行下载。至少这样,您只下载目标实际需要的文件,可以跳过其余部分。
将其与 IAsyncOperation 结合使用,这可能会为您提供所需的最终效果。
关于c# - 在调用 DoDragDrop 方法后执行拖放实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1036868/
我在这里有一个我想要做的事情的例子:http://jsbin.com/OwoYAlEQ/1/edit 这是我的 HTML: person one person two person three per
我想知道是否有人知道是否有一个预先制定的解决方案:我在 ASP.net 网站上有一个列表,我希望用户能够通过拖放对列表进行重新排序。此外,我希望有第二个列表,用户可以将第一个列表中的项目拖到其中。 到
我想知道是否有人知道是否有一个预先制定的解决方案:我在 ASP.net 网站上有一个列表,我希望用户能够通过拖放对列表进行重新排序。此外,我希望有第二个列表,用户可以将第一个列表中的项目拖到其中。 到
我在我的 Web 应用程序中使用 Ajax ControlToolkit 中的 ModalPopupExtender。我将其 Drag 属性设置为 true,但是当我拖动弹出面板并将其放到新位置时,它
所以,基于this answer ,我有一组可以拖放并卡入到位的 div。唯一的问题是,可拖动的 div 具有不同的高度,我需要它们始终捕捉到目标的底部,而不是顶部。 您可以在this JsFiddl
我一直在使用 Bea 的解决方案 here一段时间后发现它非常有帮助。现在我遇到的问题是,当我将项目拖放到另一个 ListView 控件中或拖放到另一个 ListView 控件中,并且我想在拖动“期间
我试图在使用 QTreeWidget.setItemWidget() 重新父级(拖放)后将小部件放入 QTreeWidgetItem 但是,如果编译以下代码,结果是 QTreeWidgetItem 内
这是场景,我使用的是prototype和scriptaculous,但我相信jquery也会有同样的问题。我在相对定位的 div 中有一个可拖动图像的列表。问题是我无法将图像拖出父 div...好吧.
我正在使用一个普通(Bootstrap)表,我想在其中包含可排序的行。我正在使用 Angular CDK (DragDropModule) 来实现排序/排序。但是,当拖动行时,它会扭曲宽度,因为 cd
我正在尝试在我的 UICollectionView 中实现拖放机制,这与在快捷方式应用程序中重新排序快捷方式的组件非常相似。 截至目前,行为是当您开始拖动时,会留下一个透明的单元格 View ,而另一
我有以下 Jquery UI 拖放 jsfiddle https://jsfiddle.net/zoojsfiddle/ud96jdcp/ 具有
我希望创建一个基于网络的“公告板”,可以这么说,用户可以在其中创建/删除/拖放“图钉”,而不允许重叠“图钉”。 这是一个图表,应该有助于说明我正在尝试创建的内容: 'pins' 可能已创建双击;他们会
我是一名优秀的程序员,十分优秀!