使用vb.net 获取文件夹下选中文件的文件名称

时间:2021-07-21 13:59:41

1. 前言

今天在配置cppunit的附加依赖项的时候, 需要输入相应的附加依赖项的文件名, 这个很费劲, 我们又不想自己手工一个个的copy, 就希望能够找到一种方法可以直接获取到我们的文件名

2. 处理思路

我们这里想到了vb.net, 利用他的拖拽功能, 直接获取相应的文件名称

3. 实现效果

使用vb.net 获取文件夹下选中文件的文件名称
使用vb.net 获取文件夹下选中文件的文件名称

4. 注意点

  1. 我们这里选用的是listview 控件, 顺手拖过来的
  2. 他的view 属性一定改为List,这样文件名可以全部显示
  3. AllowDrop 属性改为True, 允许拖拽

5. 代码

Public Class Form1
' 拖拽进入, 清空数据
Private Sub FileLists_DragEnter(sender As Object, e As DragEventArgs) Handles FileLists.DragEnter
FileLists.Items.Clear()
e.Effect = DragDropEffects.All
End Sub

' 拖拽完成, 显示数据
Private Sub FileLists_DragDrop(sender As Object, e As DragEventArgs) Handles FileLists.DragDrop
Dim MyFiles() As String
MyFiles = e.Data.GetData(DataFormats.FileDrop)
For i = 0 To MyFiles.Count - 1
Dim Items() As String
Items = MyFiles(i).Split("\\")
FileLists.Items.Add(Items(Items.Count - 1))
Next
End Sub

' 双击数据, 实现复制数据到剪切板, 另外注意换行使用 vbCrLf, C 中的 "\n" 不管用
Private Sub FileLists_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles FileLists.MouseDoubleClick
Dim strData As String

strData = ""
With FileLists
For i = 0 To .Items.Count - 1
strData += .Items.Item(i).Text + vbCrLf
Next
End With
Clipboard.SetDataObject(strData)
End Sub
End Class