设置文件夹浏览器对话框的根文件夹

时间:2014-05-26 09:11:15

标签: c# winforms

您好我试图设置文件夹浏览器对话框的根文件夹。 FolderBrowserDialog的RootFolder属性可以设置为Environment.SpecialFolder枚举的元素。

FolderBrowserDialog folderDlg = new FolderBrowserDialog();
folderDlg.RootFolder = Environment.SpecialFolder.MyDocuments;
if (folderDlg.ShowDialog() == DialogResult.OK) {
...
}

问题是我不想将根文件夹设置为默认值。我希望它依赖于一些用户选择。

我已阅读有关在显示对话框之前设置selectedPath属性的信息。因此我尝试了这段代码

folderDlg.SelectedPath = pathSelectedByUser;

其中pathSelectedByUser是一个类似" C:\ Temp \ Backup"的字符串。这几乎是这样做的,但它只打开Temp目录并选择Backup目录并且不打开Backup目录。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在显示对话框之前设置SelectedPath将强制突出显示所选路径,并且文件树将展开以显示所选级别的文件夹。不幸的是,滚动直到选择之后才会导航(应该将其集中在窗口中)。

正如您所说,所选路径将不会打开(展开以显示子文件夹),但是有一种解决方法。如果您按“ +”号将完成此工作,则可以按照以下说明使用SendKeys.SendWait

Why FolderBrowserDialog dialog does not scroll to selected folder?

此致