VB 文本框 文件拖拽 鼠标松开再显示路径

代码如下:PrivateSubTextBox1Pkg_DragOver(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.... 代码如下:
Private Sub TextBox1Pkg_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1Pkg.DragOver
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim files As String()
Try
files = CType(e.Data.GetData(DataFormats.FileDrop), String())
TextBox1Pkg.Text = files(files.Length - 1)
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
End If
End Sub
但是显示效果是:用鼠标拖着文件从文本框上划过,文本框内就有了文件的路径。导致不小心就把其他文本框的内容改写成了这个文件的路径。想要实现拖着文件从文本框上划过,不获取文件路径,只有在文本框上松开鼠标,才获取文件路径。
请高手指点一下,谢谢
展开
 我来答
murphybao
2015-01-16 · TA获得超过1210个赞
知道小有建树答主
回答量:1002
采纳率:66%
帮助的人:542万
展开全部
那你用DragOver干嘛,Over经过文本框上空就会触发,用DragDrop啊,释放时才触发
追问
用DragDrop,还用上面的代码,就没有效果了...
拜托指点一下代码
追答

除了设置TextBox1Pkg的AllowDrop为True,你还要增加:

    Private Sub TextBox1Pkg_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox1Pkg.DragEnter
        e.Effect = DragDropEffects.Link '接收数据,启用拖放
    End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式