是否可以在默认的FolderBrowserDialog中显示隐藏文件夹?

时间:2014-06-26 12:34:56

标签: c# .net winforms

我正在使用System.Windows.Forms.FolderBrowserDialog让用户选择一个位置。 用户可以覆盖的默认位置位于%appdata%。

只要用户位于%appdata%以下(对话框在当前设置的位置打开,因此默认为“AppData”下面的那个),他可以看到并选择“Local”,“LocalLow”和“漫游” “,它通常像”AppData“文件夹本身一样隐藏。

我不想触摸Windows设置来显示隐藏文件等。 但我没有找到任何可以让我默认显示所有隐藏文件/文件夹的属性。

我错过了什么?

(我已经看了MSDN

我添加了一些截图:

隐藏文件夹可见,因为初始目录是“本地”: Hidden folders visible

隐藏文件夹不可见: Hidden folders are not visible

提前感谢。

3 个答案:

答案 0 :(得分:2)

几乎非常脏的解决方案是更改HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden的注册表值 加载窗口时,关闭窗口时将其恢复为之前的值。

答案 1 :(得分:1)

控件尊重用户的设置。因此,如果您不更改用户的设置,并且您拒绝这样做的诱惑是正确的,则不会显示隐藏文件夹。

答案 2 :(得分:1)

除了FolderBrowserDialog,还可以允许用户在TextBox或ComboBox中键入路径。虽然自动完成功能不会显示系统或隐藏文件夹,但是打开一个具有隐藏或系统文件夹作为FolderSelectedPath的FolderBrowserDialog会在对话框中显示该文件夹及其子文件夹。