2009-12-28 12 views

Respuesta

10
private void button1_Click(object sender, EventArgs e) 
{ 
    FolderBrowserDialog dialog = new FolderBrowserDialog(); 
    if (dialog.ShowDialog() != DialogResult.OK) { return; } 

    this.treeView1.Nodes.Add(TraverseDirectory(dialog.SelectedPath)); 

} 


private TreeNode TraverseDirectory(string path) 
{ 
    TreeNode result = new TreeNode(path); 
    foreach (var subdirectory in Directory.GetDirectories(path)) 
    { 
     result.Nodes.Add(TraverseDirectory(subdirectory)); 
    } 

    return result; 
} 
0

Agregue el nodo de directorio a la vista de árbol. Establezca el nombre de los nodos en la ruta completa y el texto en el nombre del directorio.

Agregue recursivamente nodos a treeview. Utilice las colecciones System.IO DirectoryInfo y FileInfo para obtener los archivos y directorios en cada objeto DirectoryInfo. hacer que la condición de terminación de su función recursiva sea el caso donde no hay directorios secundarios.

0

Podría considerar el uso de controles como FolderView y FileView desde Shell MegaPack. Se pueden poner dentro de sus propias formas en lugar de mostrar un cuadro de diálogo modal.

Cuestiones relacionadas