【问题标题】:How to specify path using open file dialog in vb.net?如何在 vb.net 中使用打开文件对话框指定路径?
【发布时间】:2012-07-12 23:51:57
【问题描述】:

在我的应用程序的第一次启动中,我需要指定一个路径来保存一些文件。但在打开文件对话框中,似乎我必须选择一个文件来打开。如何在不打开文件的情况下只指定文件夹 像 C:\config\

这是我的代码

If apppath = "" Then
        Dim fd As OpenFileDialog = New OpenFileDialog()
        fd.Title = "Select Application Configeration Files Path"
        fd.InitialDirectory = "C:\"
        fd.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
        fd.FilterIndex = 2
        fd.RestoreDirectory = True
        If fd.ShowDialog() = DialogResult.OK Then
            apppath = fd.FileName
        End If
        My.Computer.FileSystem.WriteAllText(apppath & "apppath.txt", apppath, False)
    End If

我需要选择一个文件才能使其工作,但我只想选择一个文件夹。那么有什么办法呢?

【问题讨论】:

    标签: vb.net file directory openfiledialog


    【解决方案1】:

    如果我理解正确,您想让用户选择一个文件夹。如果是这种情况,那么您想使用 FolderBrowserDialog 而不是 OpenFileDialog。

    【讨论】:

      【解决方案2】:

      您想使用FolderBrowserDialog 类而不是OpenFileDialog 类。您可以在此处找到有关它的更多信息:

      http://msdn.microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog(v=vs.110).aspx

      例如,您可以这样做:

      If apppath = "" Then
          Dim dialog As New FolderBrowserDialog()
          dialog.RootFolder = Environment.SpecialFolder.Desktop
          dialog.SelectedPath = "C:\"
          dialog.Description = "Select Application Configeration Files Path"
          If dialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
              apppath = dialog.SelectedPath
          End If
          My.Computer.FileSystem.WriteAllText(apppath & "apppath.txt", apppath, False)
      End If
      

      【讨论】:

      • OP 询问如何使用 打开文件对话框 选择路径。 MS 的 FolderBrowserDialog 非常没用(因为它自 90 年代以来就没有更新过,像 Windows 3.0 中的老式 Windows 资源管理器一样进行文件夹树浏览),并不是每个人都想用它来选择路径。
      【解决方案3】:
      Dim filedialog As New OpenFileDialog
      filedialog.IntialDirectory = Application.StartupPath
      filedialog.ShowDialog()
      

      【讨论】:

      • 您的第二行在“.IntialDirectory”中包含一个错字。缺少第一个较低的“i”。整行应该是 'filedialog.InitialDirectory = Application.StartupPath'
      【解决方案4】:

      或者你可以简单地让它更少的线条和非常简单。

      链接:http://i.imgur.com/bMq0HNz.png

      点击开始你的对话:

      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
          FolderBrowserDialog1.ShowDialog()
      End Sub
      

      如果您想显示您从对话框中选择的实际路径,请添加

      Private Sub FolderBrowserDialog1_Disposed(sender As Object, e As EventArgs) Handles Button1.Click
          TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString
      End Sub
      

      【讨论】:

        【解决方案5】:

        用途:

        Dim openFD As New OpenFileDialog()
        Dim Directory As string = openFD.FileName
        

        【讨论】:

          【解决方案6】:

          试试这个

          Private Sub BtnOpen_Click(sender As Object, e As EventArgs) Handles BtnOpen.Click
                  Dim openFileDialog1 As New OpenFileDialog()
          
                  openFileDialog1.InitialDirectory = "x_pathfileforsend"
                  openFileDialog1.Filter = "txt files (*.txt)|*.txt|*.zip|*.rar|*.ico|*.exe|*.png|*.bmp|All files (*.*)|*.*"
                  openFileDialog1.FilterIndex = 5
                  openFileDialog1.RestoreDirectory = True
          
                  If openFileDialog1.ShowDialog() = DialogResult.OK Then
                      txtpath.Text = openFileDialog1.FileName
                  End If
                  openFileDialog1.Dispose()
          
              End Sub
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-03-05
            • 2015-06-10
            • 1970-01-01
            • 1970-01-01
            • 2022-11-08
            • 1970-01-01
            • 2011-06-17
            相关资源
            最近更新 更多