2012-07-13 48 views
8

Trong phần đầu tiên của ứng dụng của tôi, tôi cần chỉ định đường dẫn để lưu một số tệp vào đó. Nhưng trong cuộc đối thoại mở, có vẻ như tôi phải chọn một tệp để mở. Làm thế nào tôi có thể chỉ định một thư mục mà không oppening một file như C: \ config \Làm thế nào để xác định đường dẫn bằng cách sử dụng hộp thoại mở tập tin trong vb.net?

Đây là mã của tôi

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 

tôi cần phải chọn một tập tin để cho nó để làm việc, nhưng tôi chỉ muốn để chọn một thư mục. Vậy giải pháp là gì?

Trả lời

17

Bạn muốn sử dụng lớp FolderBrowserDialog thay vì lớp học OpenFileDialog. Bạn có thể tìm thêm thông tin về nó ở đây:

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

Ví dụ, bạn có thể làm điều này:

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

Các OP hỏi làm thế nào để chọn một đường dẫn bằng cách sử dụng * Đối thoại tập tin mở *. FolderBrowserDialog của MS khá vô dụng (vì nó chưa được cập nhật từ những năm 90 với duyệt cây thư mục như cửa sổ thám hiểm trường cũ từ cửa sổ 3.0) và không phải ai cũng muốn sử dụng nó để chọn đường dẫn. – thebunnyrules

2

Nếu tôi hiểu chính xác, bạn muốn cho phép người dùng chọn một thư mục. Nếu đó là trường hợp, sau đó bạn muốn sử dụng FolderBrowserDialog thay vì OpenFileDialog.

+0

nhờ mà làm việc :) – FPGA

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

Dòng thứ hai của bạn bao gồm lỗi đánh máy trong '.IntialDirectory'. Chữ cái 'i' đầu tiên bị thiếu. Toàn bộ dòng phải là 'filedialog.InitialDirectory = Application.StartupPath' – PeterCo

0

Hoặc bạn có thể đơn giản chỉ là làm cho nó ít đường và rất đơn giản.

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

'Start your dialog with a click  

Private Sub Button1_Click (người gửi Như Object, e Như EventArgs) Xử lý 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 
Các vấn đề liên quan