![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Мне нужен Folder Browser, только такой, что бы перед его всеми узлами были были CheckBox. Можно ли этого как то достич? Как в TreeView когда ставишь свойство CheckBoxes = true
Это сообщение отредактировал(а) N1ko - 3.10.2009, 16:10 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
-------------------- ![]() |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Тогда возникает следующий вопрос.\При помощи каких средств? Как потом это встроить в Visual Studio? И насколько єто трудоёмкий процесс?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Создаём новую форму, вытягиваем на неё TreeView, настраиваем внешний вид, добавляем обработчик события разворачивания узлов, в нём заполняем дерево именами директорий под развёрнутым узлом (или корневых директорий или дисков, для корневого узла). Иконки доставать из shell-а. Зависит от опыта в WinForms и прямоты рук, а так конечно довольно трудоёмкий процесс -------------------- ![]() |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
А вот такой вопрос. Как мне вставить в TreeView список всех папок и подпапок. Это крнечно можно сделать при помощи рекурсии, но мне кажется что такой проект будет очень долго компилится, поскольку машине понадобиться много времени что бы прочесать все папки системы и забить их в ТрииВьюв. Есть ли какой нить другой способ построить дерево?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Это как же интересно время компиляции зависит от того какие папки в тривью будут показаны во время выполнения программы ?... -------------------- ![]() |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Я имел ввиду, что для того что бы дерево отображало список папок, нужно юзать метод GetDirectories, получать их имена и вставлять в TreeView. То есть вся эта процедура займёт определённое время. И я думаю достаточно долгое время... По этому я и спрашиваю как лучше сделать. Может сканировать заданую папку во время развёртывания дерева, или как то так.
|
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
угу:
-------------------- ![]() |
||||
|
|||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
А можно ли как то выдирать иконки папок? Существует ли метод для папок , схожий с методом для файлов Icon.ExtractAssociatedIcon(filepath). Проблема состоит в том, что для логических дисков или для стандартной папки "Музыка","Рисунки" совсем другая иконка, чем для папок. Да и в случае, если пользователь любит красивый внешний вид, то он может заменить стандартные папки другими иконками посредством какого нить ПО. Можно ли как то вытащить .ico для папок?
Это сообщение отредактировал(а) N1ko - 7.10.2009, 23:05 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
-------------------- ![]() |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
А можно ли как то получить порядковый номер иконки в системе(или какой нить уникальный параметр, который позволил бы отличить эту иконку от других), дабы можно потом было сравнивать присутствует ли уже она в ImageList?
Это сообщение отредактировал(а) N1ko - 3.11.2009, 00:25 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Можно сделать Dictionary<int, Icon> и вносить туда иконки, проверять на существование перед созданием новой. -------------------- ![]() |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Сам алгоритм я понимаю, как сделать. НО меня больше интересует как достать <int иконки(составяющую Dictionary) ? Ведь для того что бы проверить существует ли иконка в созданом мной ImageList нужно проверять по какому нибуть уникальному параметру её существование. Именно этим параметром мне кажется порядковый номер в Системном ImageList. Вопрос состоит в том как его оттудова достать???
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |