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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как словить unCheck в TreeView, aftercheck не ловит нужный Node 
:(
    Опции темы
KuZyagroup
  Дата 19.5.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magento solution
**


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

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



Есть  TreeView с включенной опцией  ChechBoxes
Нужно определить  Node с которого сняли выделение и снять выделение с его родителя если тот был выделенным. Событие  afterCheck ловит момент нажатия но возвращает  Root  Node. Мне нужно знать конкретный  Node с которого сняли выделение. Подскажите пожалуйста событие которым нужно ловить или как ловить  afterCheck-ом. Заранее спасибо
PM MAIL   Вверх
tol05
Дата 19.5.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



Что-то я не понял.

Цитата(KuZyagroup @  19.5.2007,  16:53 Найти цитируемый пост)
Мне нужно знать конкретный  Node с которого сняли выделение

ну так AfterCheck и возвращает, как я понял, ноду, на которое произошло это событие.
MSDN, TreeView.AfterCheck Event  - в примере четко написано, что "updates all the child tree nodes of a TreeNode when the user changes its checked state"

и код такой 
Код

if(e.Node.Nodes.Count > 0)
      {
         /* Calls the CheckAllChildNodes method, passing in the current 
         Checked value of the TreeNode whose checked state changed. */
         this.CheckAllChildNodes(e.Node, e.Node.Checked);
      }

если у ноды есть дочерние ноды, что-то с ними сделать.

Пишешь так
Код

TreeNode node = e.Node;

нужны дочерние по отношению к ней - значит 
Код

TreeNodeCollection childs = node.Nodes;

нужна родительская - значит
Код

TreeNode root = node.Parent;



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
KuZyagroup
Дата 20.5.2007, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magento solution
**


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

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



Цитата

ну так AfterCheck и возвращает, как я понял, ноду, на которое произошло это событие.

только в том случае если ты меняешь соостояние checkbox-a на checked, в противном случае возвращается рут
PM MAIL   Вверх
tol05
Дата 20.5.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



Что-то не то.
сделал дерево в виде
Node0
   Node1
   Node2
       Node4
       Node5
   Node3  

обработчик
Код

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
    {
      TreeNode node = e.Node;
    }

на строчке обработчика поставил брейкпоинт и сколько не клацал на всех нодах (check или uncheck)
все равно Debugger->Autos тупо показывает "e.Node  =  {Text=<реальная нода, на которой я кликнул>}"


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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