2012-07-13 62 views
8

在我的應用程序的第一個開始,我需要指定一個路徑來保存一些文件。但在打開的文件對話框中,似乎必須選擇要打開的文件。我怎麼可以只指定一個文件夾,而不oppening文件 如C:\設置\如何使用vb.net中的打開文件對話框指定路徑?

這裏是我的代碼

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 

我需要爲了選擇一個文件,它的工作,但我只是想選擇一個文件夾。那麼解決方案是什麼?

回答

17

您想使用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 
+0

的OP詢問如何使用* Open File Dialogue *來選擇路徑。 MS的FolderBrowserDialog非常無用(因爲從90年代開始,文件夾樹瀏覽就像Windows 3.0中的舊學校Windows資源管理器一樣沒有更新),並不是每個人都想用它來選擇路徑。 – thebunnyrules 2017-07-08 17:36:01

2

如果我理解正確,你想讓用戶選擇一個文件夾。如果是這種情況,那麼你想使用FolderBrowserDialog而不是OpenFileDialog。

+0

感謝奏效:) – FPGA 2012-07-13 12:36:34

1
Dim filedialog As New OpenFileDialog 
filedialog.IntialDirectory = Application.StartupPath 
filedialog.ShowDialog() 
+0

您的第二行包含'.IntialDirectory'中的拼寫錯誤。第一個較低的'我'缺失。整行應該是'filedialog.InitialDirectory = Application.StartupPath' – PeterCo 2014-10-06 13:55:06

0

或者你可以簡單地只讓少的線條和非常簡單的。

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

'Start your dialog with a click  

私人小組的button1_Click(發送者爲對象,例如作爲EventArgs的)把手Button1.Click FolderBrowserDialog1.ShowDialog() 完子

'Add if you want to show the actual path that you choose from your dialog 
Private Sub FolderBrowserDialog1_Disposed(sender As Object, e As EventArgs) Handles Button1.Click 
    TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString 
End Sub 
相關問題