以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  大家看一下这个是不是BUG,在TreeView控件AfterCheckNode事件中写代码达到改变节点复选框状态后,从而改变选定节点子节点展开或折叠的目的。大多数情况下可以正确执行,但偶尔又不能正确执行。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96338)

--  作者:百灵
--  发布时间:2017/2/18 12:56:00
--  大家看一下这个是不是BUG,在TreeView控件AfterCheckNode事件中写代码达到改变节点复选框状态后,从而改变选定节点子节点展开或折叠的目的。大多数情况下可以正确执行,但偶尔又不能正确执行。
大家看一下这个是不是BUG,在TreeView控件AfterCheckNode事件中写代码:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
    If e.Node.Checked = True Then
        e.Node.Expand()
    End If
    If e.Node.Checked = False Then
        e.Node.Collapse()
    End If
达到改变节点复选框状态后,从而改变选定节点子节点展开或折叠的目的。这样写代码,大多数情况下可以正确执行,但偶尔又不能正确执行,明明复选框显示已勾选,但该节点下子节点不能展开,用msgbox(e.Node.Checked )却为false,大家试一下,看代码有没有错误

--  作者:百灵
--  发布时间:2017/2/18 12:57:00
--  
这个是项目文件,大家试一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目19.foxdb


--  作者:有点蓝
--  发布时间:2017/2/18 15:47:00
--  
你是双击了吧。.net的这个控件双击的状态变化不可控的。
--  作者:百灵
--  发布时间:2017/2/18 19:17:00
--  
没有双击,也会出错
--  作者:百灵
--  发布时间:2017/2/18 19:21:00
--  
单击点快了一些会出错,可能是系统认为是双击了
--  作者:有点色
--  发布时间:2017/2/19 10:38:00
--  
 这个是bug,双击的时候,只会触发一次 AfterCheckNode
--  作者:gfj7126
--  发布时间:2017/4/11 14:18:00
--  

能修复这个BUG吗?目前这个功能比较常用,但用起来又比较别扭,常被别人问为什么。或有什么别的替代办法?


--  作者:有点色
--  发布时间:2017/4/11 15:36:00
--  
以下是引用gfj7126在2017/4/11 14:18:00的发言:

能修复这个BUG吗?目前这个功能比较常用,但用起来又比较别扭,常被别人问为什么。或有什么别的替代办法?

 

这样的话,你需要重写这个treeview控件,重写的控件用这样加入和绑定事件了  http://www.foxtable.com/webhelp/scr/2374.htm

 

参考

 

http://blog.csdn.net/ypchen001/article/details/47982811

 

https://my.oschina.net/Tsybius2014/blog/551358