2013-01-07 103 views
1

我已將樹狀視圖添加到了我的表單中。我想捕獲複選框的值,哪一個選中或不選。在vb.net中使用樹狀視圖

此外,我想獲得節點的計數。有樹四個節點,

Dim nodes As TreeNodeCollection = TreeView1.Nodes 
    MsgBox(nodes.Count) 

給出1

感謝

+0

[這裏](http://www.dotnetperls.com/treeview)是一個很好的教程,儘管在C#中你應該能夠很容易地將它應用到VB。 –

+0

您可能有1個根節點和4個子節點。改爲使用TreeView1.Nodes.Nodes。 –

+0

我之前已經創建過這樣的函數 - 你需要檢查節點的列表還是隻檢查多少個被檢查的計數? –

回答

1

...這可能不是這樣做的最佳方式,但它的作品...

功能看起來會是如下:

Function GetAllCheckedNodes(ByVal tv As TreeView, Optional ByRef tn As TreeNode = Nothing) As List(Of TreeNode) 
    Dim RetVal As New List(Of TreeNode) 


    If tn Is Nothing Then 
     For Each nd In tv.Nodes 
      RetVal.AddRange(GetAllCheckedNodes(tv, nd)) 
     Next 
    Else 

     If tn.Checked Then RetVal.Add(tn) 

     For Each nd In tn.Nodes 
      RetVal.AddRange(GetAllCheckedNodes(tv, nd)) 
     Next 
    End If 

    Return RetVal 
End Function 

您的代碼使用它看起來someth荷蘭國際集團這樣的:

Dim MyList As List(Of TreeNode) = GetAllCheckedNodes(tvAccounts) 

Dim MyList As List(Of TreeNode) = GetAllCheckedNodes(tvAccounts, nd) 

nd是在你想獲得所有被選中的子節點的樹狀的特定節點。

希望這有助於並有意義。

+0

非常感謝.......它的工作原理 –