【发布时间】:2013-12-21 04:28:25
【问题描述】:
我设法将多个文件夹路径拖放到列表框,是否可以使用复制/粘贴来执行此操作,例如,您在 Windows 资源管理器上复制多个文件夹,然后使用上下文菜单、快捷键将这些文件夹路径粘贴到列表框上,或一个按钮..
Private Sub lstFolder_DragDrop(sender As Object, e As Windows.Forms.DragEventArgs) Handles lstFolder.DragDrop
Dim directories As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
For Each folder As String In From folders In directories Where Directory.Exists(folders)
If Not lstFolder.Items.Contains(folder.ToString()) Then
lstFolder.Items.Add(folder.ToString())
End If
Next
End Sub
Private Shared Sub lstFolder_DragEnter(sender As Object, e As Windows.Forms.DragEventArgs) Handles lstFolder.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop, False) = True Then
e.Effect = DragDropEffects.All
End If
End Sub
@维涅什库马尔
效果很好,一个问题如何,从文档文件或地址栏中复制文件夹位置,这是我到目前为止的代码。
Dim directories As String() = CType(Clipboard.GetData(Windows.Forms.DataFormats.FileDrop), String())
'loop through the string array, check if folder exist then adding each folder to the ListBox
For Each folder As String In From folders In directories Where Directory.Exists(folders)
If Not lstFolder.Items.Contains(folder.ToString()) Then
lstFolder.Items.Add(folder.ToString())
End If
Next
【问题讨论】: