2012-07-13 14 views
8

Przy pierwszym uruchomieniu aplikacji muszę podać ścieżkę do zapisu niektórych plików. Ale w otwartym oknie dialogowym pliku wydaje mi się, że muszę wybrać plik do otwarcia. Jak mogę tylko określić folder bez oppening plik jak C: \ config \Jak określić ścieżkę przy użyciu okna dialogowego otwierania pliku w vb.net?

Oto mój kod

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 

muszę wybrać plik w celu użycia go do pracy, ale po prostu chce , aby wybrać folder. Jakie jest rozwiązanie?

Odpowiedz

17

Chcesz użyć klasy FolderBrowserDialog zamiast klasy OpenFileDialog. Możesz znaleźć więcej informacji na ten temat tutaj:

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

Na przykład, można to zrobić:

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 zapytał, jak wybrać ścieżkę za pomocą * Dialogu otwartego pliku *. MS FolderBrowserDialog jest dość bezużyteczny (ponieważ nie był aktualizowany od lat 90. z przeglądaniem drzewa folderów, tak jak w starym szkolnym eksploratorze Windows z Windows 3.0) i nie każdy chce używać go do wybierania ścieżek. – thebunnyrules

2

Jeśli dobrze rozumiem, użytkownik chce wybrać folder. W takim przypadku należy użyć FolderBrowserDialog zamiast OpenFileDialog.

+0

dzięki który pracował :) – FPGA

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

Druga linia zawiera literówkę w ".IntialDirectory". Brak pierwszego dolnego "i". Cała linia powinna być "filedialog.InitialDirectory = Application.StartupPath" – PeterCo

0

Albo można po prostu po prostu uczynić go mniej linii i bardzo proste.

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

'Start your dialog with a click  

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

'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 
Powiązane problemy