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 :

Valeur index Treeview ?


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 49
    Points : 44
    Points
    44
    Par défaut Valeur index Treeview ?
    Bonjour,

    J'utilise le code ci-dessous pour afficher ou non certain Item d'un ContextMenuStrip via un click dans un Treeview.

    Pour ce faire, j'identifie l'Index du noeud (le premier qui a la valeur 0) qui est sélectionnée pour personnaliser l'affichage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     Private Sub TreeView1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDown
     
            Dim Node As TreeNode
     
            Node = TreeView1.GetNodeAt(New System.Drawing.Point(e.X, e.Y))
     
            If e.Button = MouseButtons.Right Then
     
                TreeView1.SelectedNode = Node
     
                If TreeView1.SelectedNode.Index = 0 Then
     
                    ToolStripMenuItem2.Enabled = False
                    ToolStripMenuItem3.Enabled = False
                    ToolStripMenuItem4.Enabled = False
     
                Else
     
                    ToolStripMenuItem2.Enabled = True
                    ToolStripMenuItem3.Enabled = True
                    ToolStripMenuItem4.Enabled = True
     
                End If
     
            End If
     
            'debug
            ToolStripStatusLabel1.Text = TreeView1.SelectedNode.Index
     
        End Sub

    Cependant, il y a plusieurs Index qui ont la valeur 0, le noeud et une des valeurs enfant du noeud et un des enfants des autres noeuds.

    Je souhaite que lorsque seulement la Node 0 (le premier de ma Treeview) et ces enfants sont seléctionnés, les items désirés restent indisponibles.

    Auriez-vous une idée ?

    Merci de votre aide.

    Oulahoup

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    utilise plutôt la propriété Tag de tes nodes pour mettre une info qui permet d'identifier le node

  3. #3
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut
    C'est normal que tu aies plus d'un index zéro, car en ajoutant des niveau à ton arbre, tu rajoutes une nouvelle collection de noeud, donc un autre index à 0.

    Si tu veux avoir le premier noeud (la racine) c'est l'index 0 de la première collection. J'ai fait un conde semblable qui affiche un menu contextuel seulement si on clic-droit sur la racine d'une arbre soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub TreeView_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView.MouseDown
            'Si clic-droit
            If MouseButtons = Windows.Forms.MouseButtons.Right Then
                'Si sur noeud de base
                If TreeView.Nodes(0).IsSelected Then
                    'On affiche le menu contextuel de changement de racine
                    ContextMenuStrip1.Show()
                    ContextMenuStrip1.Left = MousePosition.X
                    ContextMenuStrip1.Top = MousePosition.Y
                End If
            End If
        End Sub
    Bon travail
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 49
    Points : 44
    Points
    44
    Par défaut
    Bonsoir à tous,

    Je vais étudier attentivement vos deux propositions. Je reviens vers vous pour j'espère clôturer ce topic.

    @+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 49
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par oulahoup Voir le message
    Bonsoir à tous,

    Je vais étudier attentivement vos deux propositions. Je reviens vers vous pour j'espère clôturer ce topic.

    @+
    Je viens de tester ton code FALADIN. Nickel chrome !!!

    Merci beaucoup.

    @+

  6. #6
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut
    Ça fait plaisir de savoir que ça t'a aidé!

    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

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

Discussions similaires

  1. Cumuler des valeur indexées
    Par Tlemcen dans le forum Access
    Réponses: 25
    Dernier message: 20/02/2007, 23h29
  2. Pb index multi-valeurs avec DBase
    Par Rickless dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/01/2006, 16h50
  3. [struts]valeur de l'index de boucle
    Par GreenJay dans le forum Struts 1
    Réponses: 6
    Dernier message: 08/11/2005, 12h20
  4. 'Index' d'un ComboBox.AddItem : Valeurs désordonnées.
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 26/10/2005, 16h41
  5. [html:text][indexed]Valeurs des liste null...
    Par thibaut dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 08/09/2004, 09h36

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