Есть ли в .NET объект OpenFileOrFolderDialog? - PullRequest
7 голосов
/ 19 сентября 2008

Можно ли использовать класс OpenFileDialog для выбора файла ИЛИ папки? Он появляется только для того, чтобы разрешить выбор файла, если вы выберете папку, а затем выберете открыть, она перейдет к этой папке.

Если OpenFileDialog не может быть использован для этого, есть ли другой объект, который я должен использовать?

РЕДАКТИРОВАТЬ : Сценарий заключается в том, что у меня есть инструмент, который может загрузить один ... много файлов или папок. Мне нужно иметь возможность предоставить диалог, такой как OpenFileDialog, который позволяет пользователю выбрать файл, папку или комбинацию. Я знаю о FolderBrowseDialog, и в данном случае это не ответ.

Ответы [ 6 ]

5 голосов
/ 25 сентября 2008

Это решение, которое я искал, в этой статье приведен код и описано, как создать диалоговое окно, отвечающее моим потребностям.

CodeProject: полная реализация IShellBrowser

2 голосов
/ 25 ноября 2009

Да, вы можете использовать OpenFileDialog для выбора папки. Вот статья в CodeProject, которая продемонстрировала способ сделать это (http://www.codeproject.com/KB/dialog/OpenFileOrFolderDialog.aspx).

0 голосов
/ 21 октября 2018

Я бы посоветовал взглянуть на библиотеки Ookii , в которых реализован диалог браузера папок для Windows Forms и WPF соответственно:

enter image description here

Ookii.Dialogs.Wpf

https://github.com/caioproiete/ookii-dialogs-wpf


Ookii.Dialogs.WinForms

https://github.com/caioproiete/ookii-dialogs-winforms

0 голосов
/ 19 сентября 2008

Нет: OpenFileDialog предназначен только для открытия файлов. В любом случае для этого можно использовать FolderBrowserDialog.

[Редактировать] Слишком быстро ответили: редактирование от опрашивающего было впоследствии.

0 голосов
/ 19 сентября 2008

Если у вас есть время, вы можете довольно легко создать свой собственный, используя класс System.Windows.Forms.TreeView . Каждый узел может иметь флажок, поэтому если вы заполняете древовидное представление (onexpand), вы можете позволить пользователю выбрать файлы / каталоги, которые он хочет загрузить.

Это должно помочь вам начать заполнять древовидную структуру с помощью каталогов, задача добавления файлов в древовидную структуру также не должна быть такой сложной:

http://www.java2s.com/Tutorial/VB/0280__GUI-Applications/FileTreeview.htm

0 голосов
/ 19 сентября 2008

В моем опыте в .NET я должен был сказать нет, извините за отрицательный и короткий ответ, но я действительно не думаю, что есть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...