Войти

Показать полную графическую версию : C# - Выбор файла и папки в одном диалоге


Delirium
31-08-2010, 03:41
Голову сломал, google перелопатил, ответа не нашел. Задача такая:
1. Имеется FileBrowserDialog - позволяет выбрать файлы в указанной папке.
2. Имеется FolderBrowserDialog - позволяет выбрать Папку.

Мне же необходимо диалоговое окно, которое позволяет выбрать как файлы, так и папки сразу. При выборе файлов с папкой в FileBrowserDialog, папка отбрасывается из конечного списка. Перелопатил все что мог, но так и не нашел решения. Вроде бы что то подобное есть на http://www.codeproject.com.nyud.net:8090/KB/files/, но у меня страница не открывается :)

Может, реализовывал кто подобный функционал или же я неглубоко поискал?

RUVATA
31-08-2010, 09:39
Не уверен, но может быть поможет - http://www.vbnet.ru/faq/showtopic.asp?id=5

RUVATA
31-08-2010, 10:06
По моему еще здесь (http://bytes.com/topic/c-sharp/answers/610112-file-folder-browser) идет о речь о чем-то подобном

Delirium
31-08-2010, 14:49
По моему еще здесь »
Да, там есть такая опция. Но платить 50 баксов за пустяковую по функциональности вещь - это перебор. Тем более это требуется для бесплатной утилиты :)

LilLoco
31-08-2010, 18:32
Delirium, Вы прямо заинтриговали своим вопросом!даже сам ударился в поиски! пока ничего не нашел :( но думаю, ищо не все перерыл :)

LilLoco
31-08-2010, 21:30
Вот наконец то поиски увенчались каким то успехом, посмотри здесь ССЫЛКА (http://www.codeproject.com/KB/dialog/OpenFileOrFolderDialog.aspx) , не проверял пока, не было возможности, но, думаю, все работает!

Delirium
02-09-2010, 01:31
LilLoco, увы, но это тоже не то :)

LilLoco
02-09-2010, 07:30
Эх, будем продолжать поиски :)

losaped
19-07-2011, 10:57
Для получения всей необходимой информации достаточно использовать OpenFiledialog

string fullFileName;
using(OpenFileDialog dlg = new OpenFileDialog())
{
if (dlg.ShowDialog() == DialogResult.OK)
fullFileName = dlg.FileName;
}

Далее при помощи класса Path получаем интересующие нас сведения:
string dir=Path.GetDirectoryName(fullFileName);
string file=Path.GetfileName(fullFileName);
string ext=Path.GetExtension(fullFileName);
string onlyFileName=GetFileNameWithoutExtension(fullFileName);

LilLoco
19-07-2011, 11:47
losaped, При этом все равно нужно для выбора директории "открыть" файл... а по условии нужно либо саму директорию либо файл...

losaped
19-07-2011, 12:33
Извиняюсь, не понял вопрос, хотя, судя по дате вопрос уже не актуален.

Delirium
19-07-2011, 15:12
losaped, суть такая, открываешь окно диалога и мышкой выделяешь файлы и папки, как в проводнике. Жмешь выбрать, и получаешь список всех файлов, включая файлы из подпапок. А в целом вы правы, вопрос уже не актуален, проблема была решена путем реализации drag-n-drop выбранных объектов на окно программы.




© OSzone.net 2001-2012