获取文件以供使用的简单实用程序。
使用openfiledialog我试图获得完整路径EG:File = text1.txt,它位于c:\ temp。所以完整路径是C:\ temp \ text1.txt。
但我能得到的只是文件名。我已经搜查了我已经被搜查了,我已经尝试了几个小时但没有任何作用。
这是带注释的代码......
'open the openfile dialog so the user can search for a file
Dim openFileDialog1 As New OpenFileDialog()
'set the root to the z drive
openFileDialog1.InitialDirectory = "Z:\"
'make sure the root goes back to where the user started
openFileDialog1.RestoreDirectory = True
'show the dialog
openFileDialog1.ShowDialog()
'check there is something to work with... the user did not exit before selecting a file etc.
If openFileDialog1.FileName.Length = 0 Then
'if the user selected a file set the value of the replacefile text box
Else
TB_ReplacementFile.Text = System.IO.Path.GetFullPath(openFileDialog1.FileName)
End If
我得到的只是文件名......
答案 0 :(得分:3)
MSDN文档和遍布各处的大量帖子说你需要的只是openfiledialog.FileName。不过这对我不起作用,不能告诉你为什么。 DID的工作原理是使用它:
TB_ReplacementFile.Text = System.IO.Path.GetFullPath(openFileDialog1.FileName)
这很有效,我得到了我需要的东西。我无法解释为什么我必须这样做。不知道我怎么会成为问题,但那一定是问题吧?!
希望这有助于某人。
答案 1 :(得分:2)
FileName Property返回完整路径。
文件名包括文件路径和扩展名。如果未选择任何文件,则此方法返回空字符串(“”)。
If (openFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
TB_ReplacementFile.Text = openFileDialog1.FileName
End If
答案 2 :(得分:0)
不是100%确定这是否可以解决您遇到的问题,或者它只是处理它的另一种方式,但我更喜欢检查DialogResult。即:
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "Z:\"
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.Ok Then
Console.WriteLine(openFileDialog1.fileName)
End If
答案 3 :(得分:0)
这有助于获取目录或路径 将sDir作为字符串= System.IO.Path。 GetDirectoryName (openfiledialog1.FileName.ToString)