VB.Net 2012在拖动图片时复制文件
我的表格上有一个图片图标。我希望当用户将此图标拖动到windows资源管理器、桌面等时,相关文件会写入该位置 我有一个组合中的文件路径,正如我所说,表单上有一个供用户拖动的图像。该图像只是一个普通图像,与实际文件没有真正的关联 你能帮我吗?我不知道 为下一个家伙。。。。 其中pbDragger是图片框。 请务必注意,即使只拖动一个文件,DataObject也需要字符串数组VB.Net 2012在拖动图片时复制文件,vb.net,drag-and-drop,Vb.net,Drag And Drop,我的表格上有一个图片图标。我希望当用户将此图标拖动到windows资源管理器、桌面等时,相关文件会写入该位置 我有一个组合中的文件路径,正如我所说,表单上有一个供用户拖动的图像。该图像只是一个普通图像,与实际文件没有真正的关联 你能帮我吗?我不知道 为下一个家伙。。。。 其中pbDragger是图片框。 请务必注意,即使只拖动一个文件,DataObject也需要字符串数组 Private Sub pbDragger_MouseMove(sender As Object, e As MouseEv
Private Sub pbDragger_MouseMove(sender As Object, e As MouseEventArgs) Handles pbDragger.MouseMove
If ((e.Button And MouseButtons.Left) = MouseButtons.Left) Then
Dim strPath As String = cboRef.SelectedItem!Path.ToString ' Path of the file to be copied
Dim strArr() As String = {strPath} ' 'FileDrop requires an array of string!!
Dim oDraginfo As New DataObject(DataFormats.FileDrop, strArr)
Dim dropEffect As DragDropEffects = pbDragger.DoDragDrop(oDraginfo, DragDropEffects.Copy)
End If
End Sub
首先,必须在picturebox和它所代表的文件之间建立关联。也许.Tag会起作用。之后,它只是一个文件复制或移动操作。这实际上只是直接的ddrag和drop。你知道在VB.NET中D-n-D是如何工作的吗?如果没有,那么首先要做的就是学习。完成后,基本上只需将适当的数据放在剪贴板上,当用户执行拖放操作时,Windows资源管理器将处理其余的数据。我很熟悉使用Dragenter和e.Data.Setdata来携带要复制的文本的想法,但我不确定如何使用文件来实现这一点???@puropoix这是绝对必要的吗?图片框无法保存文件。。ie文件是PDF图片框显示PDF图标如果拖动图标/图像是拖动文件的习惯用法,则代码必须知道它代表的文件。这可以通过简单地存储.Tag中表示的文件名来实现。之后,它是一个标准的DragDrop,根据您的意图或用户按下的键,会导致文件复制或文件移动。