cs_darktoto
Messages postés14Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention29 août 2006 20 janv. 2005 à 21:39
En effet, avec le nom cela ne fonctionne pas. Les index peuvent t'être utiles, mais cela te génerais t'il de stocker tes noeuds r1,r2 et r3 dans des variables globales à la classe dans la quelle tu travaille, pour n'avoir qu'à exécuter r3.Nodes.Add("toto") ?
Si tu veux absolument utiliser leur noms, qui est leur label en fait (propriété Text), crée ton propre "indexeur" de Noeud:
1. Tu dérive la classe TreeNode
2. Tu lui crée une méthode GetNode(string name) qui retourne TreeNode
3. Tu lui crée une fonction IndexOf(string name) qui recherche dans la liste des sous-noeuds le noeud qui correspond, et en retourne l'index.
4. Ta fonction GetNode s'écrit alors return Nodes[IndexOf(name)].
5. Tu crée de même une classe dérivée de TreeView, avec les mêmes méthodes GetNode, et IndexOf
6. Tu crée tes noeuds à partir de ta classe dérivée, et tu utilise GetNode sur l'arbre, et tes noeuds pour obtenir : treeview1.GetNode("envoyés").GetNode("R3").GetNode.Add("toto")