Entwickler-Ecke

WinForms - Treeview


Cherusker - Do 26.07.07 16:04
Titel: Treeview
Wieso haben bloß alle solche Probleme mit Treeview?
Naja ich gehöre da ja auch zu. Ich möchste ein Verzeichnis von der Festplatte sowie deren Unterverzeichnisse als Tree darstellen. Hab nur leider keinen Plan wie ich das machen soll. Ich hoffe mir kann jemand helfen.
MFG
Che


Leuchtturm - Do 26.07.07 17:24

Suchst du sowas:http://www.codeproject.com/cs/miscctrl/FileSystemTreeView.asp


Christian S. - Do 26.07.07 17:34

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(); //TODO: Noch prüfen, ob man überhaupt Zugriff hat oder Exception abfangen

                foreach (DirectoryInfo dir in dirs)
                {
                    if (tn == null//TODO: Unterste Ebene des TreeView (sollte eigentlich noch als Parameter übergeben werden, damit allgemein einsetzbar)
                        AddFolders(treeView1.Nodes.Add(dir.Name), dir);
                    else //Knoten im TreeView
                        AddFolders(tn.Nodes.Add(dir.Name), dir);
                }
            
            }


Beispielaufruf:

C#-Quelltext
1:
AddFolders(nullnew 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.