Bonjour je vous écrit car je rencontre plusieurs problemes.

en gros j'ai un projet qui doit lire des Mp3.

j'ai donc un treeview qui liste tout mes dossiers et dans le listview je dois avoir tout les fichiers du dossier (un peu style explorateur de windows).

C:\MesMp3
|_ dossier1
|_ dossier2
Mon premier soucis vient du fait que quand je clique sur le noeud C:\mesMp3, il me liste bien dans le listview les mp3 qui sont contenue dans dossier1 et dossier2 mais quand je clique sur le node dossier1 ou dossier2, il ne m'affiche plus rien dans le listview.


je vous passe mon code pour eclaircir

A. Le formulaire principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
'On charge le Treeview
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.TvAlbum.Nodes.Add("E:\Mes Documents\Ma musique\50 Cent")
        ModSynchronisation.ExplorerDossier(Me.TvAlbum.Nodes.Item(0))
    End Sub
 
    Private Sub TvAlbum_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TvAlbum.AfterExpand
        'Quand on déroule les noeuds
        Dim z As TreeNode
        For Each z In e.Node.Nodes
            ModSynchronisation.ExplorerDossier(z)
        Next
    End Sub
 
    Private Sub TvAlbum_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TvAlbum.NodeMouseClick
        Dim z As TreeNode
        'Vidage de la listview
        Me.LVFichiers.Clear()
        For Each z In e.Node.Nodes
            ModSynchronisation.ListerFichier(z)
        Next
    End Sub
B. Le module
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Imports System.IO
 
Module ModSynchronisation
    Public Sub ExplorerDossier(ByVal node As TreeNode)
        'On vide la collection de nodes
        'node.Nodes.Clear()
        'On recupere le chemin complet
        Dim s As String
        'FullPath permet d'obtenir le chemin du noeud en cours
        For Each s In Directory.GetDirectories(node.FullPath())
            node.Nodes.Add(Path.GetFileName(s))
        Next
    End Sub
 
    Public Sub ListerFichier(ByVal node As TreeNode)
        'On recupere le chemin complet
        Dim s As String
        For Each s In Directory.GetFiles(node.FullPath, "*.mp3", SearchOption.AllDirectories)
            FrmLecteur.LVFichiers.Items.Add(Path.GetFileName(s))
        Next
    End Sub
End Module

j'espere que vous voyez ce que je veux dire et j'espere que vous pourrez m'aider.


Cordialement