为什么当根文件夹是我的电脑时,FolderBrowserDialog不允许桌面作为SelectedPath?

时间:2011-10-18 15:58:04

标签: .net winforms

这有效:

FolderBrowserDialog dlg = new FolderBrowserDialog();
dlg.RootFolder = Environment.SpecialFolder.MyComputer;
dlg.SelectedPath = "C:\\Almo\\";
dlg.ShowDialog();

这不是:

FolderBrowserDialog dlg = new FolderBrowserDialog();
dlg.RootFolder = Environment.SpecialFolder.MyComputer;
dlg.SelectedPath = "C:\\Users\\Almo\\Desktop\\";
dlg.ShowDialog();

第一个打开一个文件选择对话框,从C:\ Almo开始,第二个从MyComputer开始。有没有办法让这项工作?问题是我的应用程序的默认保存位置是桌面,我希望用户能够选择不同的位置,我希望对话框在当前位置的任何位置启动。

3 个答案:

答案 0 :(得分:0)

尝试:

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

答案 1 :(得分:0)

使用:

dlg.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)

这将为您提供运行代码的用户的桌面路径。

答案 2 :(得分:0)

显然,Win 7中的桌面实际上并不存在于路径

C:\ Users \用户名\桌面

系统在命令提示符和Windows资源管理器中假装它。但由于它不存在,因此需要其路径位于RootFolder下的SelectedPath部分不允许以这种方式设置路径。