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