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 …
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