IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Treeview passer noeud selectionne


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Treeview passer noeud selectionne
    Bonjour,

    J'alimente dans mon form1 un treeview à l'aide de collections.

    Le form2 me sert à gérer les éléments contenus dans les noeuds (ajouter, modifier, supprimer); jusqu'ici tout se passe très bien ...
    Le form2 contient lui aussi un treeview, quasiment identique au premier (avec quelques niveau d'abstraction selon les options sélectionnées).

    Mon problème: je souhaiterais mettre en évidence dans le treeview2 le noeud sélectionné dans le treeview1. J'ai tenté:
    this.tvw2.SelectedNode=Frm_Principale.TreenodeSelectionne;
    // (TreenodeSelectionne est déclaré static dans le form1)

    Frm_Principale.TreenodeSelectionne contient effectivement la valeur du noeud sélectionné, mais tvw2.SelectedNode se voit affecter une valeur null , et là je ne comprend pas

    Merci pour toute aide

  2. #2
    Membre émérite

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Points : 2 624
    Points
    2 624
    Par défaut
    C'est normal, tu as deux instances de TreeNode différente. Par conséquent, tu ne peux pas écrire ça : this.tvw2.SelectedNode=Frm_Principale.TreenodeSelectionne;
    Le mieux à mon avis est de surcharger TreeNode en lui rajoutant une propriété Id. Et tu recherches dans tvw2 le node d'id Frm_Principale.TreeNodeSelected.
    Pense aussi à mettre HideSelection à false sur ton tree. Sinon, tu ne verras pas quel est le noeud sélectionné tant que le Tree n'a pas le Focus

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    j'ai rajouté les références dans le tag des noeuds (au lieu de surcharges), mais comment effectuer la recherche ?? (je dois avouer que ne suis pas trop à l'aise avec ce controle)

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Treeview1.Nodes.Find(string key, bool searchAllChildren)

    Ca devrait t'aider à trouver facilement ton element....

    Car un objet TreeViewItem possède un champ Nom et un champ Text..

    perso, tu peux tres bien utiliser le champ Nom pour identifier ton élément...
    (le champ text servant uniquement pour l'affichage)

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Ceci fonctionne très bien:

    TreeNode[] MonNode = tvw2.Nodes.Find(Frm_Principale.TreenodeSelectionne.Name, true);

    tvw2.SelectedNode = (TreeNode) MonNode[0];

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/07/2010, 15h34
  2. Réponses: 8
    Dernier message: 17/04/2010, 00h31
  3. Treeview, dernier noeud inaccessible
    Par The_Big_Lebowski dans le forum Windows Forms
    Réponses: 0
    Dernier message: 13/11/2009, 18h39
  4. [AC-2003] Treeview - Déplacement noeuds
    Par timoth dans le forum IHM
    Réponses: 0
    Dernier message: 15/07/2009, 18h14
  5. treeview sélection noeud frameset
    Par pcdj dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/05/2007, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo