Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1388 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#/WinForms] Acceder à un TreeView depuis un ToolStripMenuItem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#/WinForms] Acceder à un TreeView depuis un ToolStripMenuItem

n°1556430
jeanot
Posté le 07-05-2007 à 11:35:11  profilanswer
 

Bonjour,
 
J'ai un TreeView comprenant de multiples TreeViewNode.
 
Suite à un clique droit sur l'un de ces objets, j'ouvre un ToolStripMenu qui me propose différentes actions(les ToolStripMenuItem). Le clique gauche sur l'un de ces ToolStripMenuItem exécute un événement.
 
Depuis le code de cet événement (et donc n'aillant que "object sender" et "EventArg e" ), je souhaite connaître le TreeViewNode sur lequel j'ai effectué le clique droit.
 
D'apres mes premières recherches, l'"EventArg" ne comprend aucune propriété, et je suis perdu dans la quantité d'attributs de l'"object". C'est pourquoi je m'oriente vers ce forum, dont les membres ont, de toute évidence, déjà résolu ce problème qui me semble courant dans la programmation en WinForms/C#.
 
Merci pour vos réponses.

mood
Publicité
Posté le 07-05-2007 à 11:35:11  profilanswer
 

n°1556432
Tamahome
⭐⭐⭐⭐⭐
Posté le 07-05-2007 à 11:48:19  profilanswer
 

ton sender tu peux le caster déjà, ca sera tjs mieux qu'un bete "object"...
 
Ensuite y'a plein d'exemple sur la msdn.
 
Enfin, quelle version de .net tu utilises ?


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°1556439
jeanot
Posté le 07-05-2007 à 12:03:58  profilanswer
 

Tamahome a écrit :

ton sender tu peux le caster déjà, ca sera tjs mieux qu'un bete "object"...


 
J'ai bien essayé de caster cet objet dans la classe "ToolStripMenuItem". Cependant, je subit toujours ce probleme d'abondance des attributs. Le probleme est de remonter jusqu'au niveau du "TreeViewNode" qui l'a lancé le "ToolStripMenu".
 

Tamahome a écrit :

Ensuite y'a plein d'exemple sur la msdn.


 
J'ai bien fait quelques cherche sur msdn à propos du "ToolStripMenuItem". L'exemple ne me permettait pas de remonter jusqu'a l'objet qui avais déclenché le "ToolStripMenu".
 

Tamahome a écrit :

Enfin, quelle version de .net tu utilises ?


 
J'utilise la version 2 du .net fournie avec Visual Studio 2005.
 
Merci

n°1556441
Tamahome
⭐⭐⭐⭐⭐
Posté le 07-05-2007 à 12:05:04  profilanswer
 

poste ton code


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°1556442
jeanot
Posté le 07-05-2007 à 12:07:47  profilanswer
 

Tamahome a écrit :

poste ton code


 
Tout ?!? Pasque Visual Studio c'est plutôt bavard en code source !
Je vais faire une version plus simple...


Message édité par jeanot le 07-05-2007 à 12:08:14
n°1556444
Tamahome
⭐⭐⭐⭐⭐
Posté le 07-05-2007 à 12:11:00  profilanswer
 

je précise, poste ton code "qui pose problème"


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°1556447
jeanot
Posté le 07-05-2007 à 12:31:46  profilanswer
 

Tamahome a écrit :

je précise, poste ton code "qui pose problème"


 

Code :
  1. private void InitializeComponent()
  2. {
  3.             System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Node1" );
  4.             System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Node2" );
  5.             [...]
  6.             this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
  7.                         this.action1ToolStripMenuItem});
  8.             [...]
  9.             this.action1ToolStripMenuItem.Click += new System.EventHandler(this.action1ToolStripMenuItem_Click);
  10.             [...]
  11.             treeNode1.ContextMenuStrip = this.contextMenuStrip1;
  12.             treeNode2.ContextMenuStrip = this.contextMenuStrip1;
  13. }
  14. private void action1ToolStripMenuItem_Click(object sender, EventArgs e)
  15. {
  16.             MessageBox.Show((sender as ToolStripMenuItem).Name + " a déclenché l'evenemet mais je ne sais pas quel Node!" );
  17.             //  Texte affiché : "action1ToolStripMenuItem a déclenché l'evenemet mais je ne sais pas quel Node!"
  18. }


 
Pour simplifier c'est ca. Quand je fait un clique droit sur le "Node1" ou le "Node2", ca ouvre le même  "contextMenuStrip". Mais je veux savoir lequel l'a ouvert.


Message édité par jeanot le 07-05-2007 à 12:39:08
n°1557243
jeanot
Posté le 09-05-2007 à 11:03:56  profilanswer
 

UP

n°1557417
cesarr89
Posté le 09-05-2007 à 15:40:16  profilanswer
 

Et pourquoi ne pas essayer la solution suivante :
Au clic-droit sur le TreeViewNode, en plus d'afficher un ToolStripMenu, garder dans un coin le Noeud source (ou le Tag associé) ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#/WinForms] Acceder à un TreeView depuis un ToolStripMenuItem

 

Sujets relatifs
WinBinder : Impossible d'accèder à mon objet [Résolu][APACHE] accéder au mon Web local depuis l'extérieur
a l'aide d'une liste box comment on peux acceder a la page selectionné[C#] Choisir un bon Tag de Treeview
[C#/WinForms] Problème avec binding à une grille + RealProxy[C#] [Résolu] Comment communiquer avec une dll c++
[PHP] Classe MYSQL impossible d'accéder aux attributs de la classeComment enlever le click avant d'accéder à une anim flash ?
[C] Des accolades "just pour le fun" ?Acceder a une base de donnée sans passer par phpmyadmin
Plus de sujets relatifs à : [C#/WinForms] Acceder à un TreeView depuis un ToolStripMenuItem


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR