Есть ли объект OpenFileOrFolderDialog в .NET?
-
01-07-2019 - |
Вопрос
Можно ли использовать OpenFileDialog
класс выбрать файл ИЛИ папку?Похоже, что он позволяет только выбрать файл. Если вы выберете папку, а затем выберите «Открыть», он перейдет к этой папке.
Если OpenFileDialog
нельзя использовать для этого. Есть ли другой объект, который мне следует использовать?
РЕДАКТИРОВАТЬ:Сценарий таков: у меня есть инструмент, который может загружать один... множество файлов или папок.Мне нужно иметь возможность предоставить диалог, подобный OpenFileDialog
который позволяет пользователю выбрать файл, папку или их комбинацию.Я знаю о FolderBrowseDialog
и это не ответ в данном случае.
Решение
Это решение, которое я искал. В этой статье представлен код и описано, как создать диалоговое окно, соответствующее моим потребностям.
Другие советы
Да, вы можете использовать OpenFileDialog для выбора папки.Вот статья в CodeProject, в которой продемонстрирован способ сделать это (http://www.codeproject.com/KB/dialog/OpenFileOrFolderDialog.aspx).
По моему опыту работы с .NET, я бы сказал нет, извините за отрицательный и короткий ответ, но я действительно не думаю, что есть
Если у вас есть время, вы можете довольно легко создать свой собственный, используя Система.Windows.Forms.TreeView Сорт.Каждый узел может иметь флажок, поэтому, если вы заполняете древовидное представление (oneexpand), вы можете позволить пользователю выбирать файлы/каталоги, которые он хочет загрузить.
Это должно помочь вам начать заполнять древовидное представление каталогами, а работа по добавлению файлов в древовидное представление не должна быть такой уж сложной:
http://www.java2s.com/Tutorial/VB/0280__GUI-Applications/FileTreeview.htm
Нет:OpenFileDialog предназначен только для открытия файлов.В любом случае для этого есть FolderBrowserDialog.
[Изменить] Ответ слишком быстрый:Редактирование от спрашивающего было позже.
Я бы предложил взглянуть на Диалоги оокии библиотеки, которые имеют реализацию диалогового окна браузера папок для Windows Forms и WPF соответственно:
Ookii.Dialogs.Wpf
Ookii.Dialogs.WinForms