设置文件夹浏览器对话框开始位

Tes*_*101 109 c#

有没有办法将文件夹浏览器对话框的初始目录设置为非特殊文件夹?这就是我目前正在使用的

fdbLocation.RootFolder = Environment.SpecialFolder.Desktop;
Run Code Online (Sandbox Code Playgroud) 但我想使用我存储在字符串中的路径
fdbLocation.RootFolder = myFolder;
Run Code Online (Sandbox Code Playgroud)这会导致错误"无法将'字符串'转换为'System.Environment.SpecialFolder'".

gre*_*ama 182

只需在调用ShowDialog之前设置SelectedPath属性.

fdbLocation.SelectedPath = myFolder;
Run Code Online (Sandbox Code Playgroud)

  • 请注意,需要将`RootFolder`设置为`Environment.SpecialFolder.Desktop`,否则这可能无效. (18认同)
  • 请参阅下面的Chad Grants答案:他正确地解释了必须设置RootFolder,并且SelectedPath必须低于*RootFolder才能工作. (3认同)
  • 这适用于我,但它没有将焦点设置到文件夹.我必须手动向下滚动并找到它默认的文件夹.有没有办法让它在显示时自动设置焦点? (3认同)
  • 但是,这与设置`RootFolder`相同。如果设置了“ RootFolder”,则仅指定的文件夹及其下的任何子文件夹将出现在对话框中。“ SelectedPath”仅预选择给定的路径。 (2认同)

JP *_*oto 27

在调用ShowDialog之前设置SelectedPath属性...

folderBrowserDialog1.SelectedPath = @"c:\temp\";
folderBrowserDialog1.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

将在C:\ Temp启动它们


Cha*_*ant 24

fldrDialog.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Run Code Online (Sandbox Code Playgroud)

"如果在显示对话框之前设置了SelectedPath属性,则具有此路径的文件夹将是所选文件夹,只要SelectedPath设置为绝对路径,即RootFolder的子文件夹(或更准确地说,指向子文件夹的子文件夹)由RootFolder表示的shell命名空间."

MSDN - SelectedPath

"GetFolderPath方法返回与此枚举关联的位置.这些文件夹的位置在不同的操作系统上可以具有不同的值,用户可以更改某些位置,并且位置已本地化."

Re:桌面与DesktopDirectory

桌面

"逻辑桌面而不是物理文件系统位置."

DesktopDirectory:

"用于在桌面上物理存储文件对象的目录.不要将此目录与桌面文件夹本身混淆,后者是一个虚拟文件夹."

MSDN - 特殊文件夹枚举

MSDN - GetFolderPath


Jim*_*man 9

要设置目录选择路径并检索新目录:

dlgBrowseForLogDirectory.SelectedPath = m_LogDirectory;
if (dlgBrowseForLogDirectory.ShowDialog() == DialogResult.OK)
{
     txtLogDirectory.Text = dlgBrowseForLogDirectory.SelectedPath;
}
Run Code Online (Sandbox Code Playgroud)