【问题标题】:copy folder path to listbox将文件夹路径复制到列表框
【发布时间】: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

【问题讨论】:

    标签: vb.net winforms listbox


    【解决方案1】:

    是的。使用Clipboard对象

    string[] files = (string[])Clipboard.GetData(System.Windows.Forms.DataFormats.FileDrop);
    

    文件或/和文件夹将在此字符串数组中。

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 1970-01-01
      • 2011-08-15
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      相关资源
      最近更新 更多