Guten Morgen,
da hast du wohl recht

(mit dem früh kommen früh gehen)
Also Rekursion ist ja eine Methode die sich selbst aufruft. D.h. als erstes brauchst du mal eine Methode aus der Schleife:
C#-Quelltext
1: 2: 3:
| private void SetSelectedNode(TreeNodeCollection nodes, int id) { } |
In der Methode machst du im Prinzip das gleiche. Nur nicht nur für die Nodes der ersten Ebene, sondern eben auch von den jeweils unteren Ebene:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| foreach(TreeNode node in nodes) { if ((int) node.Tag == id) { treeView1.SelectedNode = node; return; } SetSelectedNode(node.Nodes, id); } |
Rekursion ist doch schön

um 8:17 Morgens .. hehe
Schönen Tag