Hallöchen
Nachdem ich gester den alben Tag Google malträtiert habe, habe ich endlich einen treevIew, der halbwegs funktioniert. Aber eben nur halbwegs.
Der Code ist folgender:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| private void AllSubDirectories(TreeNode node) { DirectoryInfo[] directories; DirectoryInfo info = new DirectoryInfo(node.FullPath); try { directories = info.GetDirectories(); } catch { return; } foreach (DirectoryInfo info2 in directories) { node.Nodes.Add(info2.Name); } }
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e) { foreach (TreeNode node in e.Node.Nodes) { this.AllSubDirectories(node); } }
private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e) { foreach (TreeNode node in e.Node.Nodes) { node.Nodes.Clear(); } } |
Der treeView soll alle Laufwerke und Verzeichnisse, aber keine Dateien, anzeigen. Aus Performancegründen soll nicht auf einen Schlag alles geladen werden sondern nur dann, wenn ein Node aufgeklappt wird. Die Laufwerke werden mir korrekt angezeigt, aber wenn man z.B. Laufwerk C aufklappt, haben die Ordner kein [+]. Ich denke der Grund ist, weil ich nur eine Ebene nach unten suche. Stimmt das? Aber wo genau muss ich den Code jetzt dafür anpassen? Kein Code, aber ein Stoß in die richtige Richtung wäre nett.
Eine andere Sache ist, dass das ganze noch nicht ok ausschaut. Der oberste Knoten soll Desktop sein, darunter als ein Knoten der Arbeitsplatz, und in diesem dann erst die Laufwerke. Im Grunde also wie im Windows Explorer. Wie spreche ich den z.B. den Arbeitsplatz an?
Das ganze verwirrt mich noch arg. Google hat mir wirklich nicht geholfen, bzw haben die Codebeispiele, die ich fand, nicht wirklich eingeleuchtet. Gehe ich das ganze aus der falschen Richtung an?
Liebe Grüße,
Der Imp
Edit: Der alte Threadname war mir dann doch zu doof.
Edit2: Das mit dem Desktop hat sich erledigt. Bin auf "Environment.GetFolderPath(Environment.SpecialFolder.Desktop)" gestoßen.
