2013-02-11 6 views
1

Windows, кажется, использует в нескольких местах более современный диалог для просмотра и выбора папок (я нашел этот снимок экрана в Интернете, http://media.wiley.com/Lux/97/145397.image1.jpg), поэтому мне интересно, есть ли способ получить доступ к этому диалоговому окну и использовать его в самой программе.Есть ли обновленная версия FolderBrowserDialog?

Я, конечно, знаю о System.Windows.Forms.FolderBrowserDialog, но это все еще использует старый пользовательский интерфейс TreeView-esque, который больше не используется (по уважительной причине, я боюсь).

Я видел несколько таких вопросов (например, http://bytes.com/topic/c-sharp/answers/453226-openfiledialog-can-select-folders), но они устарели, обратитесь к сторонним диалогам (которые я предпочитаю избегать, если это возможно) или и то, и другое.

Я что-то пропустил? Я могу представить, что подобные вещи скрыты в какой-то другой библиотеке или API/SDK или что-то в этом роде. Я просто удивлен, что Microsoft, похоже, использует его так тщательно на всей Windows, не выпуская его полностью, тем более, что я видел его по крайней мере с Windows 7.

+0

Обновлено 'FolderBrowserDialog', к сожалению. –

+0

Посмотрите, поможет ли это вам: http://stackoverflow.com/questions/576741/customising-the-browse-for-folder-dialog-to-show-the-path –

+0

В соответствии с этим вопросом SO диалоги были обновлены в .NET 4: http://stackoverflow.com/questions/4007882/select-folder-dialog-wpf – BTownTKD

ответ

2

Это версия OpenFileDialog для Vista. Основной встроенный интерфейс COM-based, IFileDialog::SetOpions() method был вызван с опцией FOS_PICKFOLDERS.

Эта функция не отображается непосредственно в .NET, но она не может не поддерживать старые операционные системы, которые не поддерживают интерфейс Vista. XP в частности. Если вы можете больше не поддерживать XP или хотите написать резервный код, который по-прежнему использует FolderBrowserDialog для старых операционных систем, вы можете найти код для взаимодействия с IFileOpenDialog в Windows API Code Pack library.

Смежные вопросы