Comment puis-je faire un clic droit pour sélectionner un noeud dans un contrôle treeview?

pourquoi je clique avec le bouton droit de la souris sur un noeud dans ma vue sur les arbres la mise au point se déplace vers ce noeud, puis revient immédiatement au noeud précédemment sélectionné. Est-il possible que je peux laisser le clic droit pour sélectionner le nœud?

13
demandé sur Matt Wilko 2011-08-31 17:00:18

2 réponses

c'est parce Que la couleur de surbrillance effectue deux fonctions, il montre le nœud sélectionné et affiche le nœud. Si vous ne faites rien avec l'événement de clic droit, alors il saute de nouveau vers le noeud sélectionné. La solution consiste à sélectionner le noeud:

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
        if (e.Button == MouseButtons.Right) treeView1.SelectedNode = e.Node;
    }

Plus Tout ce que vous voulez faire, généralement en affichant un menu contextuel.

27
répondu Hans Passant 2014-11-22 14:53:25

toutes mes Excuses, j'ai sauté le pistolet légèrement, j'ai trouvé la façon de le faire comme suit:

    Private Sub TreeView1_NodeMouseClick(sender As Object, e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        If e.Button = Windows.Forms.MouseButtons.Right Then
            TreeView1.SelectedNode = e.Node
        End If
    End Sub

le contrôle ne devrait-il pas le faire en standard?

3
répondu Matt Wilko 2011-08-31 13:08:03