Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как разнообразить иконки в Tree View?


Автор: Valentin 27.11.2004, 11:54
Здравствуйте! Есть 2 вопроса:

1. Где найти детальное и понятное (в части работы с иконками узлов дерева) описание работы с Tree View? в MSDN не очень понятно описание того, что касается дополнительных иконок, кроме двух первых (для невыделенных и выделенных узлов), а также второго списка иконок.

2. Как использовать 3 и большее количество иконок для маркировки узлов дерева Tree View? Обычно в обучающих примерах показывается по 2 иконки - для невыделенных и выделенных узлов дерева? Как это сделать - мне понятно. Но, например, в MSDN Library иконки разные для открытых и закрытых узлов, а также для листов дерева?

Спасибо за помощь!

Автор: stab 28.11.2004, 01:59
2. У каждого TreeNode в дереве есть свойства ImageIndex и SelectedImageIndex, так что для каждого элемента дерева можно задать свои изображения. Думаю, теперь должно быть понятно как разнообразить ;)
Добавлено @ 02:02
з.ы. естественно, эти изображения должны быть добавлены в ImageList назначенный дереву. Если что-то не понятно, могу написать пример.

Автор: Valentin 28.11.2004, 13:14
Спасибо большое. Я понял и примера не надо. Я смогу теперь, после Вашей помощи, и сам поэкспериментировать. Я не влезал в класс TreeNode, и думал, что используются свойства ImageIndex и SelectedImageIndex только именно самого элемента TreeView. Теперь вижу, что можно и персонально узлам назначать иконки, а не сразу всем узлам скопом. Но, ведь, все равно, и для узлов иконки назначаются по принципу "выбранный узел/не выбранный узел". А если я хочу назначать иконки не по этому принципу, а по принципу "открытый (extended) узел/закрытый (collapsed) узел/последний на ветви узел (лист)", то, похоже, сама программа должна это отслеживать (по событиям) и персонально назначать иконки узлам.

Автор: stab 28.11.2004, 14:24
Цитата
А если я хочу назначать иконки не по этому принципу, а по принципу "открытый (extended) узел/закрытый (collapsed) узел/последний на ветви узел (лист)", то, похоже, сама программа должна это отслеживать (по событиям) и персонально назначать иконки узлам.


в .NET Framework 1.x это можно сделать только ручками, в .NET Framework 2.0 (сейчас в бета-тестировании) есть более удобный способ -- StateImageList. К сожелению реально использовать .NET Framework 2.0 в разработке на данный момент крайне сложно.

Автор: Valentin 28.11.2004, 23:30
Большущее Вам спасибо!

Автор: AntonSaburov 29.11.2004, 13:53
Цитата(Valentin @ 29.11.2004, 00:30)
Большущее Вам спасибо!

И Вам спасибо, что заглянули на наш форум. Заходите еще - будем всегда рады. Приглашаем также зарегестрироваться и стать нашим постоянным участником. Удачи smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)