不能直接用代码在NodeCheck事件中控制其状态,可用如下方法解决:在ImageList中的第一个图标是对号,第二个图标是方框,通过改变Node的Image来表示Node的不同状态。Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
If condition Then
Node.Image = 1
Else
Node.Image = 2
End If
End Sub
If condition Then
Node.Image = 1
Else
Node.Image = 2
End If
End Sub
试试看下面的代码,TreeView的第一个节点就不被选中了!
Private Sub TreeView_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If TreeView.HitTest(x, y) Is TreeView.Nodes(1) Then
TreeView.Nodes(1).Checked = True
End If
End Sub