如何实现treeview的checkbox的状态处于有效或无效状态?
也就是如何实现选择框不能选择,如何处理?
注:
不是使用TreeView2.Checkboxes=false方式使的checkbox不见了 
要保留checkbox存在,只是不能选择
在函数
Private Sub TreeView2_NodeClick(ByVal Node As MSComctlLib.Node)
好像是不能实现的
各位高手,有什么好的方法
我试过可以用计时器timer来实现控制是可以的,但我以为该方法很笨重

解决方案 »

  1.   

    你这样子处理阿,对于这种节点,点取后不管怎样都保持原来checked状态不变就可以了阿
    如果整个树都不准操作,直接树不准用
      

  2.   

    点取后不管怎样都保持原来checked状态不变
    我就想这样
    那怎么实现
    我找不到相关函数
      

  3.   

    在NodeClick函数中又不能实现
    还有
    我不想整个禁止treeview
    就象允许多行的text中,我可以用lock属性来让它不能修改,但我可以拉动滚动条
      

  4.   

    我现在是通过timer来实现的
    但就是笨了些
    我的实现方法:
    blntreeview2C变量是一个全局的boolean变量,该标志决定是否可以选择
    Private Sub TreeView2_NodeCheck(ByVal Node As MSComctlLib.Node)  ''当选择是触发
        If blnTreeview2C = False Then
            Set nodeC = Node
            Timer3.Enabled = True
            Exit Sub
        End If
        If Node.Checked Then
            If Not Node.Parent Is Nothing Then Node.Parent.Checked = True
        End If
    End Sub
    Private Sub Timer3_Timer()  '恢复原来状态
        Timer3.Enabled = False
        nodeC.Checked = Not nodeC.Checked
    End Sub注:如果在NodeCheck()函数中直接恢复状态是不行的,有谁知道具体原因吗
      

  5.   

    当然,如果有
    treeview2.checkboxs.enable=false
    这样的设计就更好了
    可惜它没有
      

  6.   

    通常就是用你的方法,像这个http://www.devx.com/tips/Tip/13784其实更好的方案是重写treeview控件
      

  7.   

    我想也只的重写treeview
    但我从来都没重写个控件
    能不能教教我