Das ist doch in ein paar Zeilen erledigt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| private void AddFolders(TreeNode tn, DirectoryInfo rootFolder) { DirectoryInfo[] dirs = rootFolder.GetDirectories(); foreach (DirectoryInfo dir in dirs) { if (tn == null) AddFolders(treeView1.Nodes.Add(dir.Name), dir); else AddFolders(tn.Nodes.Add(dir.Name), dir); } } |
Beispielaufruf:
C#-Quelltext
1:
| AddFolders(null, new DirectoryInfo(@"e:\downloads")); |
//Edit: Der Code bei Code Project lädt die Verzeichnisse on demand, das ist natürlich auch nicht schlecht. Bei großen Verzeichnissen kann das für den Nutzer wiederum unangenehm werden.
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".