Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.Net 2012在拖动图片时复制文件_Vb.net_Drag And Drop - Fatal编程技术网

VB.Net 2012在拖动图片时复制文件

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

我的表格上有一个图片图标。我希望当用户将此图标拖动到windows资源管理器、桌面等时,相关文件会写入该位置

我有一个组合中的文件路径,正如我所说,表单上有一个供用户拖动的图像。该图像只是一个普通图像,与实际文件没有真正的关联

你能帮我吗?我不知道

为下一个家伙。。。。 其中pbDragger是图片框。 请务必注意,即使只拖动一个文件,DataObject也需要字符串数组

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,根据您的意图或用户按下的键,会导致文件复制或文件移动。