是否可以使FolderBrowserDialog的默认路径显示在库而不是实际磁盘中?

我知道如果我在显示对话框之前设置了SelectedPath ,我可以在对话框打开时默认打开文件夹。 但是,我想要使用的文件夹按字母顺序排在列表的下方。 我有一个与Windows中的一个库相同的文件夹,它出现在列表中,是否有任何方法可以将其默认为文件夹的库版本而不是文件夹的硬盘版本?

另一个可能的解决方案是,如果它仍然使用驱动器版本,但它会自动将窗口向下滚动到选定的位置。 有没有办法做这些解决方案?


它目前如何显示

在此处输入图像描述

我多么希望它出现

在此处输入图像描述

使用Reset()调用。 这将使其自动滚动。

  string prevpath = folderBrowserDialog1.SelectedPath; folderBrowserDialog1.Reset(); folderBrowserDialog1.SelectedPath = bc.myWorkingDir; folderBrowserDialog1.ShowNewFolderButton = true; DialogResult dr = folderBrowserDialog1.ShowDialog(); if (dr == DialogResult.OK || dr == DialogResult.Yes) { bc.myWorkingDir = folderBrowserDialog1.SelectedPath; } folderBrowserDialog1.SelectedPath = prevpath; 

设置您的根文件夹和所选路径,它将在对话框打开时自动滚动到那里:

 FolderBrowserDialog dlg = new FolderBrowserDialog(); dlg.RootFolder = Environment.SpecialFolder.MyComputer; dlg.SelectedPath = @"E:\Vetcentric"; dlg.ShowDialog(); 

在此处输入图像描述

您遇到的问题是,如果您在选择位于库层次结构中的文件夹后查看属性分配,它仍会将其分配给您通过我的计算机获得的基本路径。

只需设置路径Libraries \ VetCentric …在打开之前我应该​​这样做。

最简单的方法可能是将所需文件夹的快捷方式放入起始文件夹中。 然后,只需双击快捷方式,它就会转到您的文件夹。

否则,您将需要使用Shell Library API请参阅: 在您的程序中使用库