Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
23 / 23 / 1
Регистрация: 06.04.2014
Сообщений: 198
1

TreeView запретить нажатие по корневому индексу

06.01.2017, 03:02. Показов 1339. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как запретить нажатие по корневому индексу компонента TreeView??? Но раскрытие ветки не запрещать. Или этому корневому индексу присвоить раскрытие ветки. Просто для раскрытия мы нажимаем "+".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2017, 03:02
Ответы с готовыми решениями:

TreeView - как раскрыть узел по индексу?
Добрый день, есть у меня дерево с данными, туда загружаю XML файл разной структуры, мне нужно как...

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

Запретить нажатие клавиши
Привет! Можно ли как-то сделать запрет на нажатие клавиши Enter? То есть когда запускаешь...

Запретить повторное нажатие
Здравствуйте, имеется корзина товаров на Javascript, как запретить повторное добавление товара в...

1
6 / 6 / 6
Регистрация: 09.12.2013
Сообщений: 104
10.01.2017, 19:37 2
Лучший ответ Сообщение было отмечено mraZzzb как решение

Решение

Цитата Сообщение от mraZzzb Посмотреть сообщение
Подскажите как запретить нажатие по корневому индексу компонента TreeView??? Но раскрытие ветки не запрещать
C#
1
2
3
4
5
6
7
8
Можно использовать свой контрол унаследованный от TreeView, и перегрузить дабл клик.
public class TreeViewEx : TreeView  
    {         
        protected override void OnPreviewMouseDoubleClick(MouseButtonEventArgs e)  
        {  
            e.Handled = true; 
        }  
    }
Полное решение выглядит так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
bool    doubleClicked = false;
 
 
treeView1.BeforeExpand+=new TreeViewCancelEventHandler(treeView1_BeforeExpand);
            treeView1.MouseDown+=new MouseEventHandler(treeView1_MouseDown);
 
 private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (doubleClicked)
            {
                doubleClicked = false;
                e.Cancel = true;
            }
        }
 
        private void treeView1_MouseDown(object sender, MouseEventArgs e)
        {
            TreeNode node;
            if (e.Button == MouseButtons.Left && e.Clicks==2)
            {
                node = treeView1.GetNodeAt(e.X, e.Y);
                if (node != null)
                {
                      doubleClicked = true;                       
                }
            }
        }
        }
1
10.01.2017, 19:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2017, 19:37
Помогаю со студенческими работами здесь

Запретить открытие ветки в TreeView
Суть в том, что нужно: 1) если нажата кнопка 1 то все ветви в дереве активны(тоесть есть + для...

Запретить выделение узла treeView
Собственно как реализовать сабж при перемещении между узлами treeView?

Запретить нажатие двух кнопок
Имеется две Button, при нажатии на каждую открывается определенное Activity. Если пользователь...

Как запретить нажатие клавиш?
Как запретить нажатие клавиш?

Как запретить нажатие клавиш?
Как мне в моем проекте запретить нажатие следующих клавиш Alt + tab alt + Ctrl + del Alt + F4...

Запретить нажатие на определённый TabSheet
На форме имеется pagecontrol с 7 страницами. Есть ли такое свойство у TabSheet, которое делала бы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru