使用openFileDialog不会返回正在使用的文件名,我只想要文件名我不在乎它是否正在使用
该文件很可能正在使用中,我只是希望能够找到该文件并检索其名称和位置以执行连接。
OpenFileDialog一直有效,直到我选择文件,然后它有一个弹出窗口显示“正在使用文件”。我不想让它检查,只需返回文件名。
答案 0 :(得分:4)
似乎将ValidateNames
属性设置为false
可以解决问题(但不要问为什么:) ......)
以下是我过去尝试过的代码:
var f=File.OpenWrite(@"C:\test.txt");
var ofd = new OpenFileDialog();
ofd.ValidateNames = false;
ofd.ShowDialog();
f.Close();
注释掉第三行给了我所描述的错误“正在使用的文件”。
答案 1 :(得分:2)
尝试将ValidateNames设置为false。
OpenFileDialog fd = new OpenFileDialog();
fd.ValidateNames = false;
答案 2 :(得分:1)
我用Google搜索并发现一个帖子表明这是控件中的错误:
http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/56fbbf9b-31d5-4e89-be85-83d9cb1d538c/
建议的解决方法是直接调用API,如下所示:
http://www.codeproject.com/KB/dialog/customize_dialog.aspx?print=true