Home All Groups Group Topic Archive Search About

detect mouse event on node of a treeview

Author
31 Mar 2005 3:19 PM
Sam
Hi,
I'd like to get the selected node when the user select a node in my
treeview. I know how to get the selected node, what I don't know is how
to detect that the user has selected a new node.

What methods should I use ?
thx

Author
31 Mar 2005 4:06 PM
Grant Smith
I basically used a static variable to keep the old value of the
selected node and check to see if the new selected node was the same as
the old node.  If not then I know they selected a new node.
Author
31 Mar 2005 4:27 PM
Herfried K. Wagner [MVP]
"Sam" <samuel.berthe***@voila.fr> schrieb:
> I'd like to get the selected node when the user select a node in my
> treeview. I know how to get the selected node, what I don't know is how
> to detect that the user has selected a new node.

\\\
Private Sub TreeView1_AfterSelect( _
    ByVal sender As Object, _
    ByVal e As TreeViewEventArgs :
) Handles TreeView1.AfterSelect
    Static LastNode As TreeNode
    Dim CurrentNode As TreeNode = _
        Me.TreeView1.GetNodeAt(Me.TreeView1.PointToClient(Cursor.Position))
    If Not CurrentNode Is LastNode Then
        LastNode = CurrentNode
        If Not CurrentNode Is Nothing Then
            MsgBox(CurrentNode.Text)
        Else
            MsgBox("No node selected!")
        End If
    End If
End Sub
///

--
M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>
Author
31 Mar 2005 4:31 PM
Sam
thanks to both of you
finally here is what i've done

Private Sub tvRelations_AfterSelect(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles
tvRelations.AfterSelect

If tvRelations.SelectedNode.Nodes.Count = 0 Then
txtTable1.Text = tvRelations.SelectedNode.Parent.ToString
txtTable2.Text = tvRelations.SelectedNode.ToString
End If
End Sub