La proprietà TreeView.Nodes.Count restituisce il numero di nodi di una TreeView, ma conta solo i "discendenti diretti". Per recuperare il numero totale di nodi, indipendentemente dalla loro profondità, è necessaria una funzione ricorsiva:
Public Function GetTotalNodes(ByVal treeView As TreeView) As Integer
Return Me.GetTotalNodes(treeView.Nodes)
End Function
Private Function GetTotalNodes(ByVal nodes As TreeNodeCollection) As Integer
Dim rootNodes As Integer = nodes.Count
For Each node As TreeNode In nodes
rootNodes += Me.GetTotalNodes(node.Nodes)
Next
Return rootNodes
End Function