Как указать путь, используя диалог открытия файла в vb.net?
В первом запуске моего приложения мне нужно указать путь для сохранения некоторых файлов. Но в открывшемся диалоге файлов мне кажется, что я должен выбрать файл для открытия. Как я могу просто указать папку, не открывая файл
например 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
Мне нужно выбрать файл, чтобы он работал, но я просто хочу выбрать папку. Итак, какое решение?
Ответы
Ответ 1
Вы хотите использовать класс 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
Ответ 2
Если я правильно понимаю, вы хотите, чтобы пользователь выбрал папку. Если это так, то вы хотите использовать FolderBrowserDialog вместо OpenFileDialog.
Ответ 3
Dim filedialog As New OpenFileDialog
filedialog.IntialDirectory = Application.StartupPath
filedialog.ShowDialog()
Ответ 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