Avatar billede northern Nybegynder
17. oktober 2010 - 21:24 Der er 3 kommentarer

Treeview explorer fra bestemt folder.

Hej

Jeg er ved at lave et program, hvor man kan lave og redigere scripts, egentlig lidt ligesom Microsoft Visual C# Express, jeg har bare lidt problemer med treeview´en, jeg kan ikke få den til at loade alle folder og alle scripts filer, i en project folder, jeg kan godt få folderen til at virke med følgende kode:

private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo)
        {
            TreeNode aNode;
            DirectoryInfo[] subSubDirs;
            foreach (DirectoryInfo subDir in subDirs)
            {
                aNode = new TreeNode(subDir.Name, 0, 0);
                aNode.Tag = subDir;
                aNode.ImageKey = "folder";
                subSubDirs = subDir.GetDirectories();
                if (subSubDirs.Length != 0)
                {
                    GetDirectories(subSubDirs, aNode);
                }
                nodeToAddTo.Nodes.Add(aNode);
            }

            foreach (DirectoryInfo subDir in subDirs)
            {
                foreach (FileInfo file in subDir.GetFiles())
                {
                    TreeNode bNode = new TreeNode(file.Name);

                    nodeToAddTo.Nodes.Add(bNode);
                }
            }
        }

Mvh Mathias
Avatar billede Syska Mester
18. oktober 2010 - 10:28 #1
Hvad er det som ikke virker, synes ikke rigtig der er nogen spørgsmål ?

mvh
Avatar billede northern Nybegynder
18. oktober 2010 - 18:04 #2
Den kode jeg har der, den loader kun alle mapperne fra den bestemt mappe, men ikke alle filerne i mappen

Mvh Mathias
Avatar billede Syska Mester
18. oktober 2010 - 19:32 #3
Du skal vel bare køre:

subDir.GetFiles() // lige under hvor du henter subdirs ud:
nodeToAddTo.Nodes.Add(aNode);

Jeg ville nok også lave min signatur om på din method.

Så den tager en DirectoryInfo og en node instance.

PopulateTreeView(DirectoryInfo dir, TreeNode node)
{
// add dir to the node and save a a ref to the currentDir
foreach(var subDir in dir.GetDirectories())
{
// call populateTreeView and send the Treenode Ref and subDir with it.
}
foreach(var fi in dir.GetFiles())
{
// Add files to the saved node of currentDir
}
}

mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester