myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » Treeview zeigt nur 2 ebenen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Treeview zeigt nur 2 ebenen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
shortys
myCSharp.de-Mitglied

Dabei seit: 27.07.2006
Beiträge: 5
Entwicklungsumgebung: Visual Studio 2005


shortys ist offline

Treeview zeigt nur 2 ebenen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

kurz zur Vorstellung:

Ich bin neu hier mein Name ist Patrick, bin 19, etc....

mein Problem ist folgendes:

Ich möchte mir einen WinExplorer nachbasteln...leider zeigt meine bisherige Codephase nur 2 ebenen an, obwohl ich der Meinung bin, dass es 3 sein sollten.... vielleicht könnt ihr mier helfen ?

C#-Code:
//Treeview füllen


                //schleife für festplatten
                string[] festplatten = Directory.GetLogicalDrives();
                int anz_festplatten = festplatten.Length;
                for (int af = 0; af < 2; af++)
                {
                    //festplatte wird eingelesen
                    TreeNode platte = new TreeNode(festplatten[af]);
                    tv_baum.Nodes.Add(platte);

                        // schleife für ordner in festplatte
                        string[] dir_e1 = Directory.GetDirectories(festplatten[af]);
                        int anz_dir_e1 = dir_e1.Length;
                        for (int adee = 0; adee < 2; adee++)
                        {
                            // ordner wird eingelesen
                            TreeNode dir_e1_t = new TreeNode(dir_e1[adee]);
                            string[] ordnername = dir_e1[adee].Split('\\');
                            platte.Nodes.Add(dir_e1_t.ToString(), ordnername[1].ToString());

                            //schleife für ordner in ordner
                            string[] dir_e2 = Directory.GetDirectories(dir_e1[adee]);
                            int anz_dir_e2 = dir_e2.Length;
                            for (int adez = 0; adez < anz_dir_e2; adez++)
                            {
                                // ordner wird eingelesen
                                TreeNode dir_e2_t = new TreeNode(dir_e2[adez]);
                                string[] ordnername_2 = dir_e2[adez].Split('\\');
                                dir_e1_t.Nodes.Add(dir_e2_t.ToString(), ordnername_2[2].ToString());

                                //schleife für ordner in ordner in ordner
                                string[] dir_e3 = Directory.GetDirectories(dir_e2[adez]);
                                int anz_dir_e3 = dir_e3.Length;
                                for (int aded = 0; aded < anz_dir_e3; aded++)
                                {
                                    // ordner wird eingelesen
                                    TreeNode dir_e3_t = new TreeNode(dir_e3[aded]);
                                    string[] ordnername_3 = dir_e3[aded].Split('\\');
                                    dir_e2_t.Nodes.Add(dir_e3_t.ToString(), ordnername_3[3].ToString());
                                }

                            }
                        }
                }

Ich bedanke mich schon mal im vorraus !!!
Neuer Beitrag 03.08.2006 19:35 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marsgk marsgk ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.06.2005
Beiträge: 1.439
Entwicklungsumgebung: Notepad++ + csc + nmake
Herkunft: Linz, Austria


marsgk ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich habe mir deinen Code jetzt nicht durchgelesen, aber ich würde es so machen:
Zuerst die äusterste Ebene füllen(Laufwerke). Und erst sobald der Benutzer ein Element expandieren will, die nächste Ebene füllen.
Neuer Beitrag 03.08.2006 19:50 Beiträge des Benutzers | zu Buddylist hinzufügen
shortys
myCSharp.de-Mitglied

Dabei seit: 27.07.2006
Beiträge: 5
Entwicklungsumgebung: Visual Studio 2005

Themenstarter Thema begonnen von shortys

shortys ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Abgesehn davon, dass ich nicht weiss ob das helfen wird, werd ich deinen Rat mal befolgen...

Des Weiteren hab ich noch eine Frage:
und zwar....

Kriegt mein Prog porbleme mit dem Auslesen der Systemordner..keine Berechtigung....
wie kann ich in der Schleife sagen nimm bitte nur standardmäßige Ordner, wie im WInExplorer?


...

danke
Neuer Beitrag 03.08.2006 19:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Programmierhans
myCSharp.de-Poweruser/ Experte

avatar-1651.gif


Dabei seit: 05.04.2005
Beiträge: 4.221
Entwicklungsumgebung: VS2003-VS2013 / SAP WebIDE
Herkunft: Zentralschweiz


Programmierhans ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Schau Dir mal dies an:

 FileTreeView
Neuer Beitrag 03.08.2006 20:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 14 Jahre.
Der letzte Beitrag ist älter als 14 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.09.2020 05:33