Articles in this section
Category / Section

How to make AfterCheck event to trigger when a node's text is clicked in WinForms TreeViewAdv?

1 min read

Handle MouseDown event

It is possible to get the AfterCheck event triggered when a node's text is clicked instead of the checkbox by handling MouseDown event along with the PointToClient and PointToNode method.

C#

private void treeViewAdv1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
   if(e.Button == MouseButtons.Left)
   {
       // Get the point where the mouse was left clicked
       Point p = this.treeViewAdv1.PointToClient(Control.MousePosition);
       // Get the node at the left click point
       TreeNodeAdv node = this.treeViewAdv1.PointToNode(p);
       if(node != null)
       {
           // See if the label was clicked on
           if(node.TextAndImageBounds.Contains(p))
           {
               node.Checked =!node.Checked;
           }
       }
   }
}

VB

Private Sub treeViewAdv1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
   If e.Button = MouseButtons.Left Then
       ' Get the point where the mouse was left clicked
       Dim p As Point = Me.treeViewAdv1.PointToClient(Control.MousePosition)
       ' Get the node at the left click point
       Dim node As TreeNodeAdv = Me.treeViewAdv1.PointToNode(p)
       If Not node Is Nothing Then
           ' See if the label was clicked on
           If node.TextAndImageBounds.Contains(p) Then
               node.Checked =Not node.Checked
           End If
       End If
   End If
End Sub

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment