FolderBrowserDialog添加自定义根名称

时间:2018-06-05 13:11:47

标签: c# wpf windows

FolderBrowserDialog fd = new FolderBrowserDialog();
fd.RootFolder = string.Format("D:\\Project\\folder1\\folder2\\ Results\\{0}", FolderName);

在FolderBrowserDialog中,Rootfolder期望一种类型的environment.specialfolder
但我想将我的文件夹添加为根文件夹 我不想将SelectedPath设置为我的自定义路径。
有没有办法这样做。
提前谢谢。

3 个答案:

答案 0 :(得分:0)

  1. 将RootFolder默认为桌面
  2. 将自定义文件夹设置为SelectedPath属性

    fd.SelectedPath = string.Format(" D:\ Project \ folder1 \ folder2 \ Results \ {0}",FolderName);

  3. 调用对话框显示方法

    fd.ShowDialog();

  4. 请注意,需要保留这些设置的顺序,否则会导致错误的结果。

    以下回答的问题中的更多细节 Set folder browser dialog start location

答案 1 :(得分:0)

我在名为" folderBrowserDialog1"的表单上删除了一个文件夹浏览器。以下似乎工作。特殊文件夹选项只是一个选项,允许浏览以"特殊"夹。例如。 Windows等..它提供了一个整洁的机制来设置它而无需键入完整的路径。如果需要自定义路径,请设置SelectedPath属性。

folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer;
//The above is optional. You don't need to set it.

folderBrowserDialog1.SelectedPath = @"C:\"; //Your path here
folderBrowserDialog1.ShowDialog();

希望有所帮助

答案 2 :(得分:0)

无法将RootFolder更改为自定义文件夹,因为这被用作后备,我认为这是您的代码中发生的事情。 .Net 知道存在特殊文件夹,而您的自定义目录可能不存在。

看起来您需要删除此处...folder2\\ Results\\...中的空格和/或检查FolderName变量,因为这会产生一个不存在的目录字符串,因此您的对话框正在使用改为RootFolder