Articles in this section
Category / Section

How to display contextmenu only for certain nodes when right clicked in WinForms TreeViewAdv?

1 min read

Show the context menu for particular nodes

The context menu can be displayed for certain nodes, by setting the menuItem's Visiblity to true in the contextMenu1_Popup event handler for that particular nodes.

C#

private void contextMenu1_Popup(object sender, System.EventArgs e)
{
   this.rightMouseDownNodeCached=this.treeViewAdv1.RMouseDownNode;
   // This will be null if the user clicked in the empty portion of the tree.
   this.treeViewAdv1.SelectedNode= this.treeViewAdv1.RMouseDownNode;
   if(this.treeViewAdv1.RMouseDownNode == null)
   {
      this.menuItem1.Visible = false;
   }
   else
   {
      if(treeViewAdv1.SelectedNode.Text=="Node0" ||treeViewAdv1.SelectedNode.Text=="Node2"|| treeViewAdv1.SelectedNode.Text=="Node4"||treeViewAdv1.SelectedNode.Text=="Node6")
      {
         this.menuItem1.Visible = true;
      }
      else
      {
         this.menuItem1.Visible = false;
      }
   }
}

VB

Private Sub contextMenu1_Popup(ByVal sender As Object, ByVal e As System.EventArgs)
Me.rightMouseDownNodeCached=Me.treeViewAdv1.RMouseDownNode
   ' This will be null if the user clicked in the empty portion of the tree.
   Me.treeViewAdv1.SelectedNode= Me.treeViewAdv1.RMouseDownNode
   If Me.treeViewAdv1.RMouseDownNode Is Nothing Then
      Me.menuItem1.Visible = False
   Else
       If treeViewAdv1.SelectedNode.Text="Node0" OrElse treeViewAdv1.SelectedNode.Text="Node2" OrElse treeViewAdv1.SelectedNode.Text="Node4" OrElse treeViewAdv1.SelectedNode.Text="Node6" Then
         Me.menuItem1.Visible = True
       Else
         Me.menuItem1.Visible = False
       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
Access denied
Access denied