none
WinForm 带CheckBox的TreeView 双击CheckBox时的奇怪问题 RRS feed

  • 问题

  • 一个WinForm的TreeView,某node的CheckBox初始状态为false,当双击这个node的checkbox时,会出现很奇怪的情况:
    第一次双击checkbox,checkbox显示的状态会切换两次状态,unchecked-> checked-> unchecked,而AfterCheck事件仅触发一次,在AfterCheck事件中获取到的checkbox状态为checked。在这里checkbox状态已经和显示状态不一致了
    以后每次双击,checkbox显示的状态会出现一次切换,AfterCheck也会触发一次,并且checkbox显示的状态和值的状态仍然保持相反。

    除上面这个问题外,还有一点,当双击treeview   的checkbox后,如果再去单击或双击该界面中除这个treeview外的任何部分,系统会忽略第一次点击事件。举例来说,一个窗口中,有一个treeview,还有一个ok按钮,当我双击这个treeview的一个checkbox后,再去点那个ok按钮,第一次点击是没有任何作用的,第二次以及以后的点击才会有效,包括点击最大化,最小化,以及关闭这种系统按钮。
    2009年11月20日 10:03

答案

  • 你好!

    这可能是你的代码所致,默认是没有这样的问题的。你可以新建一个全新的 from 只放入 一个 TreeView 和 button 进行测试。

    知识改变命运,奋斗成就人生!
    • 已标记为答案 YiChun Chen 2009年11月24日 8:52
    2009年11月21日 1:06
    版主