【发布时间】:2008-11-03 21:30:16
【问题描述】:
在 NodeMouseClick 事件中,我试图从 Node.Tag 加载一些对象。在我这样做之前,我检查了 e.Node.IsSelected。定期运行时,IsSelected 为假....如果我在那里设置一个断点并检查 e.node.Isselected,则值会在我身上发生变化并变为真。为什么?
【问题讨论】:
在 NodeMouseClick 事件中,我试图从 Node.Tag 加载一些对象。在我这样做之前,我检查了 e.Node.IsSelected。定期运行时,IsSelected 为假....如果我在那里设置一个断点并检查 e.node.Isselected,则值会在我身上发生变化并变为真。为什么?
【问题讨论】:
NodeMouseClick 事件在选择实际更改之前引发。 (当你在同一个节点上点击两次,第二次e.Node.IsSelected肯定是真的。)
您可以尝试处理 AfterSelect 事件,尽管在使用键盘导航树视图时也会引发该事件,这可能更适合您的目的。
【讨论】:
我试图重现您的问题,但不能。当我第一次单击节点时,无论我是否设置断点,此值始终为 false。如果我第二次单击一个节点,则该值为 true。
如果节点默认被选中,则值为 true,否则在第一次点击时总是返回 false。
【讨论】: