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