使用openfiledialog

时间:2015-05-18 16:31:55

标签: vb.net

获取文件以供使用的简单实用程序。

使用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

我得到的只是文件名......

4 个答案:

答案 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)