2010-08-24 4 views
5

bằng cách sử dụng openFileDialog sẽ không trả lại tên tệp đang sử dụng, tôi chỉ muốn tên tệp mà tôi không quan tâm nếu nó đang sử dụngtrả lại tên tệp

Tệp này rất có thể sẽ được sử dụng, tôi chỉ muốn có thể tìm tệp và truy xuất tên và vị trí của tệp để thực hiện kết nối.

OpenFileDialog hoạt động cho đến khi tôi chọn tệp, sau đó nó có cửa sổ bật lên có nội dung "Tệp đang sử dụng". Tôi không muốn nó kiểm tra, chỉ cần trả lại tên tập tin.

Trả lời

4

Dường như đặt thuộc tính ValidateNames thành false giải quyết được sự cố (nhưng không hỏi tại sao :) ...)

Dưới đây là đoạn code tôi sử dụng để thử:

var f=File.OpenWrite(@"C:\test.txt"); 
var ofd = new OpenFileDialog(); 
ofd.ValidateNames = false; 
ofd.ShowDialog(); 
f.Close(); 

Bình luận ra dòng thứ ba đã cho tôi lỗi "file in use" được mô tả.

+0

Làm việc cho tôi. Win7 –

2

Thử đặt ValidateNames thành false.

OpenFileDialog fd = new OpenFileDialog(); 
fd.ValidateNames = false; 
+0

Cười ... như chó trên bít tết. :-) – JustBoo