标题说明了一切。我只需要将文件的名称单独拖入表单并将文件的路径(不带名称)转换为单独的变量。
代码:
Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
Dim theFiles() As String = CType(e.Data.GetData("FileDrop", True), String())
Dim tep As Integer = 0
For Each path As String In files
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
' Assign the files to an array.
Dim MyFiles As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
' Display the file Name
MessageBox.Show(MyFiles(tep))
tep += 1
End If
Next
它为我提供了名为“MessageBox.show(MyFiles(tep))”的路径。我不希望这样。我只想要这条路。我也想要这个名字,但不是路径。我希望他们分开。
答案 0 :(得分:2)
您可以使用System.IO
命名空间来分隔路径和文件名。
Path.GetDirectoryName()
方法将为您提供指定文件或目录的父目录路径,Path.GetFileName()
方法将为您提供指定文件的名称和扩展名。
Dim FilePath As String = IO.Path.GetDirectoryName(MyFiles(tep))
Dim FileName As String = IO.Path.GetFileName(MyFiles(tep))
MessageBox.Show(FilePath)
MessageBox.Show(FileName)
代码将产生例如:
C:\Users\Vincent\Desktop
和
Open me.txt
了解详情: