dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 2015
-
21 sept. 2014 à 17:12
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 2018
-
4 oct. 2014 à 14:33
Bonjour,
Je cherche a afficher le contenu d'un répertoire par exemple c:\ dans un treeview
Ce treeview je souhaite qu'il affiche tous les dossier et fichiers sous-jacent en cliquant sur le noeud dossier
Mon code affiche les dossiers et fichiers mais cliquable sur le noeud principal
Imports System.IO
Public Class Form1 Const _RepertoireALister As String = "c:" Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TreeView1.TopNode = TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister) For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister) TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier)) For Each _Fichier As String In Directory.GetFiles(_RepertoireALister) TreeView1.TopNode.Nodes.Add(_Fichier, Path.GetFileName(_Fichier)) Next Next End Sub End Class
Public Class Form1 Const _RepertoireALister As String = "." Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.TreeView1.TopNode = Me.TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister) For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister) Me.TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier)) listeDesFichiers(TreeView1.TopNode, _Dossier) Next For Each _Fichier As String In Directory.GetFiles(_RepertoireALister) Me.TreeView1.TopNode.Nodes.Add(Path.GetFileName(_Fichier)) Next End Sub Sub listeDesFichiers(ByVal _MonNode As TreeNode, ByVal _Nom As String) Dim Node As TreeNode = _MonNode.Nodes(_Nom) For Each Dossier As String In Directory.GetDirectories(_Nom) Node.Nodes.Add(Dossier, Path.GetFileName(Dossier)) listeDesFichiers(Node, Dossier) Next For Each fichier As String In Directory.GetFiles(_Nom) Node.Nodes.Add(Path.GetFileName(fichier)) Next
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 22 sept. 2014 à 18:34
Bonsoir,
Certes un Openfiledialog est la solution mais je cherche a intégrer un treeview dans mon application
Si tu essaies mon code, tu observeras qu'il n'affiche que les noeuds principaux et certains fichiers
j'essaie de créer une récursivité pour afficher les sous dossier,sous sous dossier et fichiers dépendant a ces dossiers
Public Class Form1 Const _RepertoireALister As String = "." Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TreeView1.TopNode = TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister) For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister) TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier)) listeDesFichiers(TreeView1.TopNode, Path.GetFileName(_Dossier)) Next For Each _Fichier As String In Directory.GetFiles(_RepertoireALister) TreeView1.TopNode.Nodes.Add(_Fichier, Path.GetFileName(_Fichier)) Next
End Sub Sub listeDesFichiers(ByVal _MonNode As TreeNode, ByVal _Nom As String) Dim Node As TreeNode = _MonNode.Nodes(_Nom) For Each Dossier As String In Directory.GetDirectories(_Nom) _MonNode.Nodes.Add(Dossier)
Next For Each fichier As String In Directory.GetFiles(_Nom) _MonNode.Nodes.Add(Path.GetFileName(fichier))
Next End Sub End Class
--
Vous n’avez pas trouvé la réponse que vous recherchez ?
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 Modifié par CGSI3 le 3/10/2014 à 22:09
Bsoir Dartagnan,
Désolé j'étais absent quelques jours et pour être franc les Nodes et autres treeview ne sont pas mes amis ...
Mais j'essaierai cela des que possible car cela m'intéresse.
Perso j'ai moi même créé une classe pour travailler sur les fichiers.
donc si tu as besoin d'aide sur ce point je peux peut être t'aider.
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 Modifié par CGSI3 le 4/10/2014 à 14:59
Bonjour,
Oups rectification marche pas trop bien dans sa récursivité
Essai plutôt ceci
' a mettre dans ta form
...
Init_TriView(Me.TreeView1, ".")
...
Public Sub listeDesFichiers(ByRef Node As TreeNode, ByVal _Nom As String)
Node.Text = _Nom
For Each Dossier As String In Directory.GetDirectories(_Nom)
Dim N As New TreeNode
listeDesFichiers(N, Dossier)
Node.Nodes.Add(N)
Next
For Each fichier As String In Directory.GetFiles(_Nom)
Node.Nodes.Add(" " & Path.GetFileName(fichier))
Next
End Sub
Public Sub Init_TriView(ByRef Tree As TreeView, byref Txt as String)
Dim N As New TreeNode
listeDesFichiers(N, Txt)
Tree.Nodes.Add(N)
End Sub