2009-12-28 11 views
7

Comment remplir un TreeView avec un répertoire sous forme de chaîne. J'utilise le FolderBrowserDialog pour sélectionner un dossier et la propriété SelectedPath pour obtenir le chemin d'accès à la chaîne (c.-à-d. C: \ Users \ Admin).Remplir un TreeView avec un répertoire de chaînes


De même, est-ce que je pourrais regarder des dossiers comme ceci?

Répondre

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

Ajoutez le nœud de répertoire à l'arborescence. Définissez le nom des noeuds sur le chemin d'accès complet et le texte sur le nom du répertoire.

Récursivement ajouter des nœuds à treeview. Utilisez les collections System.IO DirectoryInfo et FileInfo pour obtenir les fichiers et les répertoires de chaque objet DirectoryInfo. faire de la condition terminale de votre fonction récursive le cas où il n'y a pas de répertoire enfant.

0

Vous pouvez envisager d'utiliser des contrôles tels que FolderView et FileView de Shell MegaPack. Ils peuvent être mis à l'intérieur de vos propres formes au lieu de faire apparaître un dialogue modal.

Questions connexes