We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

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

Platform: WinForms |
Control: DockingManager |
Published Date: April 30, 2011 |
Last Revised Date: December 6, 2019

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

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon