2008-11-03 2 views
2

В событии NodeMouseClick я пытаюсь загрузить некоторые объекты из узла Node.Tag. Прежде чем я это сделаю, я проверю e.Node.IsSelected. При регулярном запуске IsSelected является ложным .... если я нахожу там точку разрыва и проверяю e.node.Isselected, значение меняет меня и становится истинным. Зачем?Помощь в winview treeview isSelected weirdness

ответ

3

Событие NodeMouseClick создается до того, как выбор действительно изменится. (Если вы дважды нажмете на один и тот же узел, второй раз e.Node.IsSelected, безусловно, верно.)

Вы можете попробовать обработать событие AfterSelect, хотя это также будет поднято при использовании клавиатуры для навигации по treeview, что может быть даже лучше для ваших целей.

+0

Ну, это моя проблема. – nportelli 2008-11-04 14:38:23

0

Я попытался воссоздать вашу проблему, но не смог. Когда я нажимаю на узел в первый раз, это значение всегда ложно, устанавливаю ли я точку останова или нет. Если я щелкнул узел во второй раз, это значение будет истинным.

Если узел выбран по умолчанию, значение будет истинным, но в остальном он всегда будет возвращать false при первом щелчке.

+0

Я признаю, что я делаю очень беспорядочный и очень плохой дизайн пользовательского интерфейса. Но да, я проверяю один раз, и значение ложно, во второй раз, без шага, и оно становится истинным. Я нашел это странным. – nportelli 2008-11-04 15:54:35

Смежные вопросы