Sorry - yes - don't know what I did wrong. It does iterate through everything in the tree.

However, I realised what I was doing wrong on the way home last night! The simple solution was to declare the TreeNode I wanted to use as Private, and iterate through that node. Unfortunately, it shows the text "TreeNode: " and the treenode, but I can handle that.

Code:
        For Each childNode As TreeNode In trvDbNameNormal.Nodes

            MsgBox(childNode.ToString)

        Next
Thanks for your help.