| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > OpenFileDiolog - передать путь не файла (ов) а дир |
| Автор: Мурлыкатам_ 18.11.2007, 16:54 |
| Для передачи строковых значений путей к передаваемым на сервер файлам использую - OpenFileDialog, возникает вопрос, как сделать так чтобы юзер кликнув по папке и нажав "открыть" передал путь папки и завершил файл диалог??? Это очень важно для меня, если кто нить имеет идеи по этому поводу пожалуйсто поделитесь! Зараннее спасибо. З.Ы. мне кажеться, что решение простое, но просто я чего-то не знаю :(((( |
| Автор: thomas 18.11.2007, 21:21 | ||
| Мурлыкатам_, Приветствую
Ты не поверишь, действительно есть простое решение. И знаешь как оно называется? FolderBrowserDialog, во как. И находиться эта фича на две строчки выше OpenFileDialog в ToolBox студии в разделе Dialogs. Успехов. |
| Автор: Мурлыкатам_ 19.11.2007, 19:37 |
| Приветствую, thomas, у меня следующая задача - передавать файл, файлы или все файлы из папки на удаленную машину. Как красиво организовать диалог выбора файлов для передачи? Потомучто FolderBrowserDialog - какой-то непонятный (наверное потому что нету св-ва FileNames Или плз мелкий пример обработки файлов через этот контрол. |
| Автор: 1stain 19.11.2007, 20:19 |
| или OpenFileDialog с Multiselect = true, или делай свой контрол на манер проводника |
| Автор: thomas 19.11.2007, 20:29 | ||||||||
| Мурлыкатам_, Приветствую. Вопрос стоял как передать путь к папке.
Я предложил соответствующий контрол, который выбирает папки. Ежели нужен файл, то для этого используется другой контрол, который и был использован. Но он указывает путь к файлу. И отвечает этому вопросу
Если из того что выдает OpenFileDialog нужно получить имя файла и путь к нему отдельно, то используем методы класса String и парсим строку. Что-то типа этого
Описание функции а Object Browser-е студии.
|
| Автор: 1stain 19.11.2007, 20:50 | ||
для работы с путями есть статический класс System.IO.Path
|
| Автор: Domovik 22.11.2007, 10:25 |
| А вообще, в данном случае, очень удобен будет класс http://msdn2.microsoft.com/en-us/library/system.io.fileinfo.aspx. Тут тебе и вся информация о файле (включая те же пути) и возможность получения файлового потока на этот файл, и многое, многое другое |
| Автор: Мурлыкатам_ 22.11.2007, 19:29 |
| У мя есть приложение которое все это уже делает openFileDialog-om, возник вопрос, что если в диалоге кликнуть на папку, то откроется ее содержимое, а можно в файл диалоге перекрыть чего нить чтобы при клике на "открыть" при выделенной папке - передавался путь этой папки. А файлы и так открываются, и мультиселектом и по одному... Мне нуна еще и папку как-то обработать. Есть мысли? Domovik, ты это все к чему? |
| Автор: 1stain 22.11.2007, 19:39 |
| не устраивают стандартные средства? Тебя же никто за руки-ноги не держит - разрабатывай юзерконтролы... сделай что-то наподобии проводника - сплит: слева- директории, справа - файлы. И выбирай что хочешь |
| Автор: Мурлыкатам_ 22.11.2007, 19:48 |
| Я не умею делать свои контролы. |
| Автор: Experimenter 22.11.2007, 19:53 |
| Мурлыкатам_, 1stain, не надо юзерконтролов, вполне для этих целей подойдет ListView, классный штук. |
| Автор: thomas 22.11.2007, 21:35 | ||||||
| Мурлыкатам_, Приветствую. В который раз перечитываю эту тему. И все ни как понять не могу. Если тебе надо передавать файл(ы) и программа это делает, зачем тебе еще и папку обрабатывать? И что ты понимаешь под этим выражением?
Если тебе для чего то нужно отделить мух от котлет, т.е. из полного имени файла, которое тебе выдает OpenFileDialog, выделить путь и имя папки, в которой лежит этот файл, то я тебе уже писал
И пойми OpenFileDialog не предназначен для выдачи пути к папке, он предназначен для выбора файлов и возвращает полный путь к файлу. И пока ты не выбрал в нем файл (ы) он не закроется. Как вариант можно использовать комбинацию FolderBrowserDialog с OpenFileDialog в первом выбираешь директорию и он тебе возвращает путь к ней в переменную а второй открываешь в этой директории и выбираешь файл(ы)
|
| Автор: Мурлыкатам_ 22.11.2007, 22:47 | ||
А мне нуна с точностью наоборот Эх... Понятно, спасибо за идеи. Похоже все таки придеться в меню разделять выбор передать файлы или папку :( Спасибо за помощь!!! |