Hallo DidiD
das AfterSelect-Ereignis wird ausgeführt, nachdem man einen Eintrag im TreeView ausgewählt (selektiert) hat. Da dein TreeView aber noch leer ist, kann dieses Ereignis bisher nie ausgeführt werden.
Verschiebe einfach deinen Code in eine eigene Methode und rufe diese direkt im Konstruktor deiner Form auf:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public Form1() { InitializeComponent();
ReadDrives(); }
private void ReadDrives() { } |
Wobei du den bisherigen Code noch inhaltlich überarbeiten mußt - als erstes füge mal für jedes Laufwerk (Drive) ein TreeViewItem hinzu (und kommentiere den restlichen Code mal aus!).
Die ganze Ordnerstruktur in einen TreeView auf einmal einzulesen macht jedoch keinen Sinn (da dies viel zu lange dauern würde!).
Üblicherweise arbeitet man hier so, daß man im
AfterExpand-Ereignis die Unterknoten explizit einliest.
Als Optimierung kann man noch so arbeiten, daß man nur dann Ordner neu einliest, wenn bisher noch keine Einträge im TrreView dafür angelegt wurden (dann sollte man jedoch auch einen 'Refresh'-Funktionalität einbauen) - dies ist jedoch für dich als Anfänger noch nicht empfehlenswert. (Diesbzgl. gab es unter
TreeView Bezeichnung der Laufwerke eine weitergehende Diskussion).