[VB 2005] Fonction Selected pour TreeView [Résolu]

Signaler
Messages postés
265
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
29 mars 2010
-
Messages postés
265
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
29 mars 2010
-
Bonjour !

En vb6 lorsque je faisait un clique droit sur un noeud il m'afficher un menu et il me sélectionné le noeud.
J'utilisé :

Private Sub Liste_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim oNode As node
    If Button = vbRightButton Then
      Set oNode = Liste.HitTest(X, Y)
      If Not oNode Is Nothing Then
         If oNode.Children = 0 Then
                oNode.Selected = True
                PopupMenu mnu
         End If
      End If
   End If

le clique droit fonctionné que si le noeut été un enfant, il le sélectionné et ouvré un popupMenu !

Mais là je suis incapable de trouvé l'équivalence avec VB 2005 pour sélectionné le noeud !

Pour l'instant j'en suis rendu là :

Private
Sub Liste_MouseDown(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles Liste.MouseDown

Dim oNode
As TreeNode

If e.Button = Windows.Forms.MouseButtons.Right
Then
   oNode = Liste.GetNodeAt(e.X, e.Y)

   If
Not oNode
Is
Nothing
Then
       If oNode.GetNodeCount(
False) = 0
Then

---- Ici il me manque la selection du noeud enfant ----

       End
If
   End
If
End
If

End
SubLà si je clique sur un noeud et que je fait un clique droit sur un autre noeud il me retourne les info du premier noeud sélectionné et non celle du noeud sur lequel je vien de faire un clique droit !

J'espére que j'ai été assai claire !

Merci

Clad

1 réponse

Messages postés
265
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
29 mars 2010

Bon j'ai fini par trouver, Merci Microsoft !!!

Private
Sub Liste_MouseUp(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles Liste.MouseUp

Dim oNode
As TreeNode

If e.Button = Windows.Forms.MouseButtons.Right
Then

Dim p
As Point =
New Point(e.X, e.Y)

Dim node
As TreeNode = Liste.GetNodeAt(p)

If
Not node
Is
Nothing
Then

If node.GetNodeCount(
False) = 0
ThenoNode = Liste.SelectedNode

Liste.SelectedNode = node

ContextMenuStrip1.Show(Liste, p)

End
If

End
If

End
If

End
Sub(oui j'ai trouvé sur le site de microsoft : http://support.microsoft.com/default.aspx?scid=kb;fr;811399)

Clad