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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView: selected node fore color, Как повлиять на selected node fore color 
:(
    Опции темы
lexem78
Дата 30.6.2011, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здрасте.
Во время добавления сабнодов, текст некоторых из них должен быть серым (вместо черного), чтоб показать что они якобы disabled.
Но почему-то при выделении текст всё равно становится чёрным и весь эффект пропадает. Как сделать чтоб цвет остался серым?
PM MAIL   Вверх
lexem78
Дата 1.7.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



    Сам нашёл. Но если кому-то интересно,  то вот пример как это сделать:

     private void InitTreeView()
     {    
           TreeNode node;

            for (int x = 1; x < 4; ++x)
            {
                // Add a root node to the TreeView control.
                node = myTreeView.Nodes.Add(String.Format("Node {0}", x));
                for (int y = 1; y < 4; ++y)
                {
                    TreeNode subnode = new TreeNode(String.Format("Subnode {0}", y));                   
                    node.Nodes.Add(subnode);
                }
            }
            myTreeView.ExpandAll();
            myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText;
            myTreeView.DrawNode += new DrawTreeNodeEventHandler(myTreeView_DrawNode);

     }

        private void myTreeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
        {
            // Draw the background and node text for a selected node.
            if ((e.State & TreeNodeStates.Selected) != 0)
            {               
                // Retrieve the node font. If the node font has not been set,
                // use the TreeView font.

                Font nodeFont = e.Node.NodeFont;
                if (nodeFont == null) nodeFont = ((TreeView)sender).Font;
                    // Draw the node text.
                    e.Graphics.DrawString(e.Node.Text, nodeFont, Brushes.Gray,  Rectangle.Inflate(e.Bounds, 0, 0));
                }
                else
                {
                    // Draw the node text.
                    e.Graphics.DrawString(e.Node.Text, nodeFont, Brushes.Black,  Rectangle.Inflate(e.Bounds, 0, 0));
                }
            }
            // Use the default background and node text.
            else
            {
                e.DrawDefault = true;
            }
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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