首页 新闻 会员 周边 捐助

OpenFileDialog会改变FileInfo的默认路径吗?

0
[已解决问题] 解决于 2009-02-11 10:30

 

今天在博客园的QQ群上有人发现了这样一个问题,即用FileInfo fi = new FileInfo(path)默认的fi.DirectoryName为当前应用程序所在目录,但如果用OpenFileDialog打开某文件的话,再次fi = new FileInfo(path),其fi.DirectoryName变为OpenFileDialog所打开的文件所在的路径。

例如:

FileInfo fi = new FileInfo("test.txt");
MessageBox.Show(fi.DirectoryName);
openFileDialog1.ShowDialog();
fi = new FileInfo("test.txt");
MessageBox.Show(fi.DirectoryName);

第一次弹出的路径为

然后弹出OpenFileDialog窗口,打开其他路径中的一个文件,弹出的路径为

如果在声明FileInfo时使用绝对路径,则不会出现这样的问题。

是不是用相对路径声明FileInfo时,会产生一个默认路径,而OpenFileDialog改变了这个默认路径呢?但是MSDN中并没有类似的说明。

望指教。

麒麟.NET的主页 麒麟.NET | 老鸟四级 | 园豆:3614
提问于:2008-11-26 10:43
< >
分享
最佳答案
0

OpenFileDialog 默认设置是当对话框退出后将当前路径更改到其选择的路径。如果想恢复原来的工作路径,可以将 RestoreDirectory 这个属性设置为 true 就可以了。

http://msdn.microsoft.com/zh-cn/vsts2008/microsoft.win32.filedialog.restoredirectory.aspx


eaglet | 专家六级 |园豆:17139 | 2008-11-27 07:46
其他回答(2)
0

是这样的,OpenFileDialog.showDialog以后,就会更改默认的路径到当前OpenFileDialog选取的路径

天堂口 | 园豆:514 (小虾三级) | 2008-11-26 11:22
0

就是这样的.

我以前也遇到过这个问题,但是不知道为什么.不想改默认的路径,也不知道怎么设置.

侯垒 | 园豆:3435 (老鸟四级) | 2008-11-26 22:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册