2010-03-03 108 views
0
Private Function Check(ByVal mytreeNode As TreeNodeCollection) As Boolean 
     For Each node As TreeNode In mytreeNode 
      If node.ChildNodes.Count > 0 Then 
       If node.Checked = True Then 
       For Each chknode As TreeNode In node.ChildNodes 
        chknode.Checked = True 
       Next 
      End If 
      Check(node.ChildNodes) 
     Next 
    End Function 

使用此功能,我可以检查子节点时检查parent.I想做opposite.Once我取消父子也使用相同的功能得到uncheck.It是可能的。?树形检查,并取消

回答

0

你的意思是将其更改为使用传入的一个PARAM。喜欢的东西

Private Function Check(ByVal mytreeNode As TreeNodeCollection, checked as Boolean) As Boolean 
    For Each node As TreeNode In mytreeNode 
     If node.ChildNodes.Count > 0 Then 
      If node.Checked = checked Then 
      For Each chknode As TreeNode In node.ChildNodes 
       chknode.Checked = checked 
      Next 
     End If 
     Check(node.ChildNodes, checked) 
    Next 
End Function 
0

添加一个参数

Private Function Check(ByVal mytreeNode As TreeNodeCollection,IsparentNodeChecked as boolean) As Boolean 
     For Each node As TreeNode In mytreeNode 
      If node.ChildNodes.Count > 0 Then 
       For Each chknode As TreeNode In node.ChildNodes 
        chknode.Checked = IsparentNodeChecked 
       Next 
      End If 
      Check(node.ChildNodes,node.checked) 
     Next 
    End Function 

试试这个