Задать местоположение начала диалога браузера папок - PullRequest
107 голосов
/ 10 мая 2009

Есть ли способ установить начальный каталог диалогового окна браузера папок в нестандартную папку? Это то, что я сейчас использую

fdbLocation.RootFolder = Environment.SpecialFolder.Desktop;
, но я хочу использовать путь, который я сохранил в строке, что-то вроде этого
fdbLocation.RootFolder = myFolder;
Это приводит к ошибке «Невозможно преобразовать строку» в «System.Environment.SpecialFolder».

Ответы [ 4 ]

171 голосов
/ 10 мая 2009

Просто установите свойство SelectedPath перед вызовом ShowDialog.

fdbLocation.SelectedPath = myFolder;
27 голосов
/ 10 мая 2009

Установите свойство SelectedPath перед вызовом ShowDialog ...

folderBrowserDialog1.SelectedPath = @"c:\temp\";
folderBrowserDialog1.ShowDialog();

Запустит их в C: \ Temp

24 голосов
/ 10 мая 2009
fldrDialog.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

"Если свойство SelectedPath установлено до отображения диалогового окна, папка с этим путем будет выбранной папкой, если для SelectedPath задан абсолютный путь, который является подпапкой RootFolder (или, точнее, указывает подпапка пространства имен оболочки, представленная RootFolder). "

MSDN - выбранный путь

"Метод GetFolderPath возвращает местоположения, связанные с этим перечислением. Местоположения этих папок могут иметь разные значения в разных операционных системах, пользователь может изменять некоторые местоположения, и местоположения локализуются."

Re: Рабочий стол и DesktopDirectory

Desktop

«Логический рабочий стол, а не физическая файловая система».

DesktopDirectory:

"Каталог, используемый для физического хранить файловые объекты на рабочем столе. Делать не путайте этот каталог с сама папка рабочего стола, которая является виртуальная папка. "

MSDN - Специальная папка Enum

MSDN - GetFolderPath

9 голосов
/ 04 мая 2012

Чтобы установить путь к выбранному каталогу и получить новый каталог:

dlgBrowseForLogDirectory.SelectedPath = m_LogDirectory;
if (dlgBrowseForLogDirectory.ShowDialog() == DialogResult.OK)
{
     txtLogDirectory.Text = dlgBrowseForLogDirectory.SelectedPath;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...