Focus/Selected d'un node dans un treeview par un Context menu [Résolu]

Signaler
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Hi!

Bon, bah le titre dit tout.
Dans mon TreeView, je n'arrive pas à mettre le focus (selected un noeud) par le click droit (qui par ailleur affiche mon context menu)...

Comment qu'on fait?

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Salut,

Dans la méthode associée à l'event MouseDown de TreeView tu peux faire ceci :

if ( e.Button == MouseButtons.Right )
treeView.SelectedNode = treeView.GetNodeAt(e.X, e.Y);

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011

Je n'ai pas pu tester ton code car en fait j'utilise des composant propriétaire (Infragistic).

Mais merci, ca m'a bien mits sur la voie ;)
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Ah ba dans ce cas précise le lol, moi je pensais au TreeView standard :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
13
Date d'inscription
dimanche 10 mars 2002
Statut
Membre
Dernière intervention
7 décembre 2005

bonjour, coq pourais tu m'aider j'arrvie à récuperer le contenu
d'un menu dans une treeview, en respectant bien la disposition du menu.
Mais, j'ai un espacement en trop dans ma treeview, dans le premier noeud



private void Initialize(Menu thisForm)

{

RacineMenue = treeViewMenu.Nodes.Add("");

RacineMenue.ForeColor=Color.Red;

ChargementTreeview(thisForm,RacineMenue);



treeViewMenu.ExpandAll();

}



private void ChargementTreeview(Menu thisForm,TreeNode MenuNode)

{

int NombreMenu =0;

NombreMenu =( thisForm.MenuItems.Count);

for(int i=0; i<NombreMenu;i++)

{

if (thisForm.MenuItems[i].Text != "-" )

{


TreeNode MenuNodes=
MenuNode.Nodes.Add(thisForm.MenuItems[i].Text);


MessageBox.Show
(thisForm.MenuItems[i].Text);



ChargementTreeview(thisForm.MenuItems[i],MenuNodes);

}

}

}



Merci pour ton aide
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Ba tu ajoutes une node vide au début : RacineMenue = treeViewMenu.Nodes.Add("");
En fait il faudrais que chaque item de ton 1er niveau de menu soit une node racine je pense.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
13
Date d'inscription
dimanche 10 mars 2002
Statut
Membre
Dernière intervention
7 décembre 2005

je suis d'accord avec, toi mais la fonction ChargementTreeview est appeller de façon récursive.

Donc le fait d'ajouter une racine ne fonctionne pas

je peux t'envoyer un screen si tu veux.



merci
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Là je n'ai pas trop le temps, mais pose ta question sur ce forum dans un nouveau sujet, quelqu'un sera peut être en mesure de t'aider :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#