Articles in this section
Category / Section

How to avoid showing context menu if the user clicks on empty space on the WinForms TreeViewAdv?

1 min read

Avoid showing context menu

If the user clicks on the empty space on the treeViewAdv, the appearence of the context menu can be avoided by handling treeViewAdv1_MouseDown and treeViewAdv1_MouseUp Event handler. With the help of this, the user can know which node is being edited currently. Here, the Selected node is set to RMouseDownNode. The RMouseDownNode property gets or sets the node on which the user did a right-mousedown.

C#

private void treeViewAdv1_MouseDown(object sender, MouseEventArgs e)
{
   this.treeViewAdv1.BeginUpdate();
   if(this.treeViewAdv1.RMouseDownNode!=null)
      if(e.Button == MouseButtons.Right && this.treeViewAdv1.RMouseDownNode.TextBounds.Contains(this.treeViewAdv1.LastMousePositionToClient()))
      {
         this.treeViewAdv1.SelectedNode = this.treeViewAdv1.RMouseDownNode;
      }
}
private void treeViewAdv1_MouseUp(object sender, MouseEventArgs e)
{
   this.treeViewAdv1.EndUpdate(true);
}

VB

Private Sub treeViewAdv1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
   Me.treeViewAdv1.BeginUpdate()
   If Not Me.treeViewAdv1.RMouseDownNode Is Nothing Then
      If e.Button = MouseButtons.Right AndAlso Me.treeViewAdv1.RMouseDownNode.TextBounds.Contains(Me.treeViewAdv1.LastMousePositionToClient()) Then
         Me.treeViewAdv1.SelectedNode = Me.treeViewAdv1.RMouseDownNode
      End If
   End If
End Sub
Private Sub treeViewAdv1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
   Me.treeViewAdv1.EndUpdate(True)
End Sub

Reference link: https://help.syncfusion.com/windowsforms/treeview/treenodeadvcustomization#rmousedownnode

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
Access denied
Access denied