Controle TreeView

Résolu
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 23 janv. 2007 à 15:23
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 25 janv. 2007 à 09:26
Bonjour,

Je cherche à identifier le noeud sélectionné dans un TreeView.
Serait il possible de m'indiquer quelques tutos, ou la manière de procéder ?

Merci pour toute aide

10 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
23 janv. 2007 à 16:13
euh... ok...

et pourquoi récupérer le texte du node plutot que la référence ???

TreeNode selection = this.tvw_browser.SelectedNode;

tout simplement !

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
3
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
23 janv. 2007 à 16:14
Pourquoi ne stocke tu pas la référence à ton objet dans le tag de ton node?

Théo
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
23 janv. 2007 à 15:42
sur la classe TreeView, il y a une propriété SelectedNode qui te retourne le noeud séléectionné... ca ne te convient pas ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
23 janv. 2007 à 15:50
pas vraiment, dans le sens où ce noeud contient en réalité un membre d'un objet, que je souhaiterais retrouver dans une collection, et là j'avoue que je tourne en rond ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
23 janv. 2007 à 15:56
je ne comprends pas... tu peux expliquer ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
23 janv. 2007 à 16:07
une collection de dossiers, contenant des canaux RSS:

foreach (
DictionaryEntry monDossier
in maCollectionDossiers)
{
   
dossier UnDossier = (
dossier)monDossier.Value;
    tnd_dossiers =
new
TreeNode(UnDossier.nom);
   
this.tnd_dossiers.Name =
"dossier";
         
foreach (
DictionaryEntry monCanal
in maCollectionCanaux)
         {
             
canal UnCanal = (
canal)monCanal.Value;
             
if (UnCanal.dossier == tnd_dossiers.Text)
              {
                   
this.tnd_dossiers.Nodes.Add(UnCanal.url,UnCanal.nom);
              }
          }
   
this.tvw_browser.Nodes.Add(tnd_dossiers);
}

this.tvw_browser.Sort();

effectivement, je peux récupérer et passer la valeur (dans un autre Form) avec:

string Selection =
this.tvw_browser.SelectedNode.Text;

Par contre, dans le second
 Form, qui est en fait une gestion des éléments affichés dans le TreeView, et dans laquelle je réaffiche un Treeview, je souhaiterais:
- mettre en évidence le noeud précédemment sélectionné
- obtenir une référence de l'objet pour les actions 'renommer' et 'supprimer'
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
23 janv. 2007 à 17:12
Bien vu pour la récupération du noeud, mais comment pourrais je lui affecter la sélection dans le contrôle du second Form ?
Pour le tag j'y pense, ça m'a l'air tout à fait approprié
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
23 janv. 2007 à 18:39
je ne comprend pas pourquoi





this





.tvw2.SelectedNode=
Frm_Principale


.TreenodeSelectionne;

m'affecte une valeur null (alors que Frm_Principale.TreenodeSelectionne a bien une valeur définie)
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
24 janv. 2007 à 14:38
Problème résolu, avec dans le Form1 (Frm_Principale):

internal

static
TreeNode TreeNodeSelectionne;

puis:





TreeNodeSelectionne =




this
.tvw_browser.SelectedNode;


et dans le Form2:



TreeNode
[] MonNode = tvw2.Nodes.Find(

Frm_Principale
.TreeNodeSelectionne.Name,

true
);
tvw2.SelectedNode = (

TreeNode
) MonNode[0];

Merci
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
25 janv. 2007 à 09:26
... et le tag m'est également très utile
0
Rejoignez-nous