[nOOb] vb.net creation d'un composant

Voila, j’ai eu envie d’essayer de creer un composant ou plutot de detourner un composant existant.
Je desire realiser un arbre de dossiers a partir d’un TreeView. J’ai fait un petit bout de code pour commencer mais il me pose deja probleme:

[code]Public Class FolderTree

   Inherits System.Windows.Forms.TreeView

   ’ remplit la base de l’arbre ( disques )
   Private Sub fill()

       Dim drive As String
       For Each drive In System.Environment.GetLogicalDrives
           Dim node As New TreeNode(drive)
           Me.Nodes.Add(node)
       Next

   End Sub

   ’ Recherche un niveau de sous-dossiers
   Private Sub get_sub_dir(ByRef parent As TreeNode)

       parent.Nodes.Clear()

       Try

           Dim d As New DirectoryInfo(parent.FullPath)
           Dim sub_d As DirectoryInfo
           For Each sub_d In d.GetDirectories

               Dim node As New TreeNode(sub_d.Name)
               parent.Nodes.Add(node)

           Next

       Catch
       End Try

   End Sub

   ’ constructeur
   Public Sub New()

       ’ appel du constructeur TreeView
       MyBase.New()

       ’ remplissage de la base de l’arbre
       fill()

       ’ on va chercher les sous-dossiers correspondants aux disques (pour les + d’expand)
       Dim node As TreeNode
       For Each node In Me.Nodes
           get_sub_dir(node)
       Next

   End Sub

End Class[/code]

voila ce que ca donne une fois dans un projet graphique:

on voit qu’il me met deux fois la liste des dossiers, je ne sais pas pourquoi.
je suppose que mon fill() n’est pas la ou il faudrait …

si vous savez m’aider … :stuck_out_tongue:
et si vous avez des conseils concernant ce genre de truc (ce qu’il faut overrider ou pas par exemple) ou meme mieux, le tuto qui tue et que je n’aurais pas trouve.

Merci d’avance :stuck_out_tongue: