Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширение TreeView, Хочу изменить отображение 
:(
    Опции темы
rubbiroid
Дата 3.3.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.8.2006
Где: Германия

Репутация: 1
Всего: 1



Доброго времени суток!
Долго мучался сам. но что-то пока туго. Суть проблемы - хочу изменить стандартный TreeView до того. что изображено на картинке:
user posted image
Если я правильно понимяю, то нужно в событии OnPaint вставить свой код, который будет рисовть то, что мне надо (цветные цифры с скобках). Или я совсем не туда полез и нужно просто искать новый контролл?
PM MAIL   Вверх
CYBERDREAM
Дата 5.3.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 4
Всего: 28



Если ты в тривью хочешь увидеть количество файлов в каждой категории (то бишь директории), то тогда необходимо узнавать кол-во файлов по данному пути. Сформулируй конкретнее, что должно отображаться?
Если вышеупомянутый вариант, то 
Код

foreach (string dir in Directory.GetDirectories(treeView1.Nodes[0].FullPath))
            {
                try
                {

                    treeView1.Nodes[0].Nodes.Add(Path.GetFileName(dir) + "  (" + Directory.GetFiles(dir).Length+")");
                }
                catch
                {
                    treeView1.Nodes[0].Nodes.Add(Path.GetFileName(dir));
                }
            }
Конечно можно рекурсивно обходить, но это уже отдельная степь smile 


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
rubbiroid
Дата 5.3.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.8.2006
Где: Германия

Репутация: 1
Всего: 1



Не совсем. Я хочу, чтобы это число отображалось в другом форматировании, чем название ноды. Например как на картинке, другим цветом.
PM MAIL   Вверх
Unsane
Дата 5.3.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 8.6.2007

Репутация: 2
Всего: 5



Выставляешь DrawMode у  TreeView в OwnerDrawText и определяешь событие DrawNode.
Далее следуя своей логике перерисоввываешь строку как тебе угодно.
Вот пример:
Код

        private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
        {
            Graphics g = e.Graphics;
            Font f = new Font(treeView1.Font, FontStyle.Bold);
            g.DrawString(e.Node.Text, treeView1.Font, Brushes.Black, e.Bounds);
            g.DrawString("[Some Text]", f, Brushes.Aquamarine, new PointF(e.Bounds.X + e.Bounds.Width, e.Bounds.Y));
        }

--------------------
Я дурак.. Этим и интересен!
PM MAIL   Вверх
rubbiroid
Дата 5.3.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.8.2006
Где: Германия

Репутация: 1
Всего: 1



Большое тебе спасибо!
Может посоветуешь хорошую унижку по GDI+ и создание собственных контроллов?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.