Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
 Аватар для olusik27
90 / 20 / 2
Регистрация: 28.02.2011
Сообщений: 54

картинки для узлов treeview

12.05.2011, 15:02. Показов 6165. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день! Подскажите, в treeview есть ли свойство, определяющее индекс (ключ) картинки разворачиваемого узла. Просто у меня в качестве картинки используется обычный значок папки (как в Windows Explorer). Хочется, чтобы при разворачивании узла картинка менялась на изображение "развернутой папки", а при сворачивании - обратно в "просто папку". В VB6 было свойство для узла ExpandedImage, в котором и задавался индекс картинки для такого случая. А как в VB.Net?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2011, 15:02
Ответы с готовыми решениями:

Коллекция узлов TreeView и передача аргументов
Итак, опять я в недоумении. Перед добавлением нового узла в TreeView выполняется некая проверка (функцией GetBusyNumbers) на...

Xml поток в TreeView без перебора узлов
Ну вопрос собственно в заголовке... Есть к примеру готовый поток myXml, можно ли его как нибудь положить прямо в дерево, не перебирая...

Treeview и всплывающее меню для верхних узлов
День добрый. Суть вопроса такая: Создаётся *дерево* посредством treeview, данные для узлов берутся из БД. treeview имеет всегда...

6
 Аватар для Юпатов Дмитрий
1721 / 1208 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
12.05.2011, 20:57
у этого элемента управления есть свойство SelectedImageIndex и SelectedImageKey
Ими можно задать изображение для развернутого узла (для всех развернутых узлов этого контрола)
Кстати, в этом элементе содержится коллекция, состоящая из элементов TreeNode имеющих аналогичные свойства, т.е. картинки можно задать персонально для каждого узла, а не для всех разом.
Да и метод TreeView1.Nodes.Add перегружен; среди прочего можно указать и индексы картинок для обоих состояний узла.
Или немного иначе:
1 Создаем новый экземпляр TreeNode (Dim MyNode as treenode)
2 Прописываем ему свойства (текст, прочую дребедень, указываем картинки (по индексу или имени)
3 добавляем этот экземпляр в коллекцию нодов в treeview: TreeView1.Nodes.Add(MyNode)

Ну вот так вот вкратце ...
1
 Аватар для olusik27
90 / 20 / 2
Регистрация: 28.02.2011
Сообщений: 54
13.05.2011, 09:40  [ТС]
Увы, но свойство SelectedImageIndex не подходит. Картинка меняется при выделении узла, а не при его раскрытии. Когда нажимаешь на "крестик", то наблюдаешь, что картинка не меняется
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
13.05.2011, 10:17
olusik27, что-то типа такого
VB.NET
1
2
3
Private Sub TreeView1_AfterExpand(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand
        e.Node.ImageIndex=1
    End Sub
1
Кибернетик
 Аватар для СyberSpec
465 / 89 / 12
Регистрация: 10.04.2009
Сообщений: 424
13.05.2011, 10:17
Используй событие разворачивания и сворачивания узла
VB.NET
1
2
3
4
5
6
7
    Private Sub TreeView1_AfterExpand(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand
        'твой код при разворачивании
    End Sub
 
    Private Sub TreeView1_AfterCollapse(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterCollapse
         'твой код при сворачивании
    End Sub
1
 Аватар для Pooh
409 / 361 / 82
Регистрация: 07.10.2009
Сообщений: 558
13.05.2011, 10:32
При привязке ImageList к TreeView автоматически прописываются индексы для нормального и выделенного состояния, по-этому, на мой взгляд, лучше так:
VB.NET
1
2
3
4
5
6
7
8
9
Sub TreeView1AfterExpand(sender As Object, e As TreeViewEventArgs)
    e.Node.ImageIndex =1'папка открыта
    e.Node.SelectedImageIndex = 1
End Sub
 
Sub TreeView1AfterCollapse(sender As Object, e As TreeViewEventArgs)
    e.Node.ImageIndex = 0'папка закрыта
    e.Node.SelectedImageIndex = 0
End Sub
2
 Аватар для olusik27
90 / 20 / 2
Регистрация: 28.02.2011
Сообщений: 54
13.05.2011, 15:22  [ТС]
Всем спасибо, что ответили! Я, правда, уже сама разрешила этот вопрос: у меня получилось один в один как у Pooh
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2011, 15:22
Помогаю со студенческими работами здесь

TreeView: чтобы событие работало не для всех узлов
Добрый день! TreeView заполняется программно. Нажатие на каждый узел вызывает обновление страницы. Как для некоторых узлов совсем...

Картинки для TreeView из файла ресурсов
Подскажите, можно ли картинки для TreeView брать не из ImageList, а из файла ресурсов? Если да, то как? Спасибо!

Перенос узлов из бд в treeview
Всем привет. Нужно загрузить из бд формата mdf узлы в treeview. Подскажите, пожалуйста, как это можно сделать? Заранее спасибо!

Добавление узлов в TreeView
Всем привет. На форме есть компоненты: TreeView, TextBox, Button. При нажатию на кнопку мы добавляем корневой нод. При двойном нажатии...

TreeView и отображение узлов
Здравствуйте, подскажите пожалуйста, как при распахивании узла TreeView отображать его содержимое в выделенной области. Заранее спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru