Bonsoir, mon problème est simple mais je n'ai pas réussi a le résoudre.
J'ai un TreeView qui est a peu pres comme ca :
Quartier1
- Maison1
-Personne1
-Personne2
-Maison2
-Personne1
Quartier2
(...)
Quand l'utilisateur selectionne une Node, je voudrais savoir s'il a séléctionné un Quartier, une Maison ou une Personne pour pouvoir afficher un formulaire de saisi different.
Tu pourrais très bien ajouter dans la propriété Tag de chaque noeud une valeur te permettant de différencier les quartiers, maisons et personnes !
Je m'explique :
A chaque noeud de ton TreeView (j'imagine que tu le crée dynamiquement), tu ajoute dans la propriété Tag de ce noeud une valeur (1 pour quartier, 2 pour maison et 3 pour personne par exemple).
Tu réitère cette opération pour chaque noeud...
A la fin, tu as une collection de noeud avec un tag égal à 1, 2 ou 3 pour chacun d'entre eux.
Lorsque tu clique sur un noeud, il ne te reste plus qu'à récupérer la valeur du Tag et à la comparer à 1, 2 ou 3 afin de savoir de quoi il s'agit !
Cela dit, c'est la première solution qui me vient à l'esprit, donc je ne peut pas affirmer que c'est la meilleure mais en tout cas elle fonctionne !
"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
Je suis bien d'accord avec neo20585.
Si tu ne cherche pas à savoir de quelle vile provient le quartier sélectionné.
D'ailleur pour des raison de lisibilité de code, je conseil de voir du coté des enum (va ds la MSDN). En effet avec l'utilisation des types ton code sera plus lisible et tu n'auras pas besoin de retenir que 1 = Maison, 2= ...
Simple conseil.
Sinon, tu peux toujours remonté les parents du node sélectionné et voir jusqu'a quel niveau le parent est différents de null. Ici Null sera la racine ^^ (pas très élégant mais c'est une solution aussi)