Articles in this section
Category / Section

How to change the dock context menu during runtime in WinForms Docking Manager?

1 min read

Change the dock context menu

Whenever you right click on the caption bar of the Docked control, the DockContextMenu event will be triggered and the DockContextMenuEventArgs provides properties such as ContextMenu and Owner which can be used to change the associated popup menu.

C#

//Declaration Part
private BarItem panelBar;
private BarItem treeViewBar;
private ParentBarItem NewPanel;
private ParentBarItem NewTreeView;
//Initialisation of Parent Bar Items
this.NewPanel.Items.Add(this.panelBar);
this.NewTreeView.Items.Add(this.treeViewBar);
//DockContextMenu will be triggered when right click the mouse button on the Docking
//control caption bar.
private void dockingManager1_DockContextMenu(object sender, Syncfusion.Windows.Forms.Tools.DockContextMenuEventArgs arg)
{
   //Get the context menu
   PopupMenu menu = arg.ContextMenu;
   //Checks whether the control is panel or treeview
   if(arg.Owner is Panel)
   {
      //Add new parent bar item
      menu.ParentBarItem.Items.Add(this.NewPanel);
   }
   else
   {
      //Add new parent bar item
      menu.ParentBarItem.Items.Add(this.NewTreeView);
   }
}

 

VB

'Declaration Part
Private panelBar As BarItem
Private treeViewBar As BarItem
Private NewPanel As ParentBarItem
Private NewTreeView As ParentBarItem
'Initialisation of Parent Bar Items
Me.NewPanel.Items.Add(Me.panelBar)
Me.NewTreeView.Items.Add(Me.treeViewBar)
'DockContextMenu will be triggered when right click the mouse button on the Docking
'control caption bar.
Private Sub dockingManager1_DockContextMenu(ByVal sender As Object, ByVal arg As Syncfusion.Windows.Forms.Tools.DockContextMenuEventArgs) Handles dockingManager1.DockContextMenu
    'Get the context menu
    Dim menu As PopupMenu = arg.ContextMenu
    'Checks whether the control is panel or treeview
    If TypeOf arg.Owner Is Panel Then
       menu.ParentBarItem.Items.Add(Me.NewPanel)
    Else
       menu.ParentBarItem.Items.Add(Me.NewTreeView)
    End If
End Sub

 

Reference link: https://help.syncfusion.com/windowsforms/dockingmanager/dock-window#remove-specific-default-menu-item-from-context-menu

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