2010-05-07 50 views
5

Tôi đã viết một hộp thoại tùy chỉnh (biểu mẫu) mà tôi có thể sử dụng trong chương trình C# hoạt động giống như lệnh menu "Tệp - Mở" và hiển thị cửa sổ người dùng có thể chọn một tập tin hoặc thư mục.Làm thế nào để sử dụng OpenFileDialog trong C# trong Visual Studio 2010

Câu hỏi tôi có là này. Nó có "My Computer" là gốc của nó. Làm thế nào tôi có thể có nó để nó tìm kiếm trên một mạng? Nếu tệp hoặc thư mục nằm trên mạng.

Hoặc tốt hơn, trong Visual Studio 2010, có một số loại FileOpenDialog đóng hộp mà tôi có thể sử dụng ngay không?

tôi đã cố gắng gọi OpenFileDialog như mô tả trong đoạn mã ví dụ tại http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx nhưng trình biên dịch có vẻ không thích DialogResult.OK như được sử dụng trong dòng mã này:

if(openFileDialog1.ShowDialog() == DialogResult.OK) 

Trình biên dịch nói:

Lỗi 1 'System.Nullable' không chứa định nghĩa cho 'OK' và không có phương pháp mở rộng 'OK' chấp nhận đối số đầu tiên của loại 'System.Nullable' có thể được tìm thấy (bạn thiếu một chỉ thị sử dụng hoặc một n tham chiếu lắp ráp?)

Tôi đã thử sử dụng không gian tên Microsoft.Win32 thay vì System.Windows.Forms và không hoạt động. Cả hai đều tạo ra lỗi này.

Trả lời

9

Hình như bạn đang cố gắng sử dụng một (System.Windows.Forms) thoại WinForms.
Đây là MSDN page for WPF dialog boxes từ không gian tên Microsoft.Win32.

Trích đoạn:

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
dlg.FileName = "Document"; // Default file name 
dlg.DefaultExt = ".txt"; // Default file extension 
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension 

// Show open file dialog box 
bool? result = dlg.ShowDialog(); 
2

EDIT: bỏ thẻ WPF. Lỗi của tôi. Henk Holterman nói gì.

Bạn đã thêm không gian tên mà ví dụ này cho bạn biết: System.IO?

Tôi có thể sai, nhưng có vẻ như bạn đã tạo ra một biến gọi là DialogResult đó là loại System.Nullable

Các vấn đề liên quan