OpenFileDialog和InitialDirectory属性的问题

问题描述 投票:0回答:1

我有两个Buttons和两个OpenFileDialogs,我面临着InitialDirectory财产的问题。当我为我的第一个OpenFileDialog选择一个文件然后点击为我的第二个OpenFileDialog选择一个文件时,我得到了相同的InitialDirectory而不是我设置的那个!

这是我的代码的一个例子......

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim FileDialog As New OpenFileDialog
        Dim Path As String = Nothing

        If Label1.Text IsNot Nothing And My.Computer.FileSystem.FileExists(Label1.Text) Then
            Path = Label1.Text
        Else
            Path = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
        End If

        FileDialog.Title = "Open File Dialog"
        FileDialog.InitialDirectory = Path
        FileDialog.Filter = "Executable (*.exe)|*.exe"
        FileDialog.RestoreDirectory = True

        If FileDialog.ShowDialog() = DialogResult.OK Then
            Label1.Text = FileDialog.FileName
        End If
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim FileDialog As New OpenFileDialog
        Dim Path As String = Nothing

        If Label2.Text IsNot Nothing And My.Computer.FileSystem.FileExists(Label2.Text) Then
            Path = Label2.Text
        Else
            Path = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
        End If

        FileDialog.Title = "Open File Dialog"
        FileDialog.InitialDirectory = Path
        FileDialog.Filter = "Executable (*.exe)|*.exe"
        FileDialog.RestoreDirectory = True

        If FileDialog.ShowDialog() = DialogResult.OK Then
            Label2.Text = FileDialog.FileName
        End If
    End Sub
vb.net winforms visual-studio-2017
1个回答
0
投票

好吧,我发现了什么问题......

我只需要设置像这个PathPath = IO.Path.GetDirectoryName(Label1.Text)变量而不是像这个Path = Label1.Text。因为第一个获取文件的目录路径(这是必需的),第二个获取文件的路径。而我正在使用第二个......

© www.soinside.com 2019 - 2024. All rights reserved.