Treeview : Text et FullPath

cs_tibolom Messages postés 5 Date d'inscription dimanche 15 août 2004 Statut Membre Dernière intervention 27 mars 2019 - 24 juil. 2009 à 14:01
phila38 Messages postés 11 Date d'inscription jeudi 23 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009 - 25 juil. 2009 à 13:30
Bonjour,

J'ai besoin dans le cadre d'un projet d'avoir l'arborescence des dossiers de différents disques durs dans un TreeView. Jusque là, tout va bien.

En revanche, je souhaiterais afficher pour la racine de ces disques le nom de volume à côté de la lettre, un peu comme cela est fait dans l'explorateur windows : Systeme (C:).
J'ai pensé modifier la propriété Text du TreeNode concerné, mais la modification entraine celle du FullPath qui devient lui aussi "Systeme (C:)" provoquant une erreur pour la suite du remplissage du TreeView.

Existe t'il un moyen d'arriver à mes fins ?

Merci

Tibolom

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 juil. 2009 à 12:25
Salut
"provoquant une erreur pour la suite du remplissage du TreeView"
Ne connaissant pas les lignes de programme que tu utilises pour faire ce remplissage, ni le descriptif de cette erreur, que veux-tu qu'on te dise ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
phila38 Messages postés 11 Date d'inscription jeudi 23 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 13:30
Bonjour,

Il n'y a pas de solution simple à ton problème, car le "FullPath" est définit comme étant la concaténation des propriétés "Text" des différents nodes de l'arboresence, avec le séparateur "myTreeView.PathSeparator".

Donc, tu modifies le Text, tu modifie le FullPath.
Je serais toi, je gèrerais les noms réels dans la propriété Tag, et les noms à afficher dans la propriété Text, puis j'utiliserais une fonction de ce genre pour extraire le FullPath :

Private Function MyFullpath(ByVal aNode As TreeNode) As String
Dim sPath As String
If aNode.Parent Is Nothing Then
sPath = aNode.Tag
Else
sPath = MyFullpath(aNode.Parent) & aNode.TreeView.PathSeparator & aNode.Tag
End If
Return sPath
End Function
0
Rejoignez-nous