2010-03-03 100 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 

試試這個