How to use linked WinForms Docking Managers in an MDI application?
Linked manager
Linked Manager concept allows the transfer of a docking window from one form to another form or Usercontrols. It is done with a single method call. The important event to note here is TransferredToManager event.
The TransferredToManager event occurs after a dockable control that previously belonged to some other DockingManager has been transferred to the docking layout hosted by the current DockingManager.
Note that DockingManager component should be added to each form and each docking manager should be added to AddToTargetManagersList collection which will let you transfer the docking window to the selected target form.
Please refer the below code snippet which illustrates this:
C#
// Array of the DockingManagers present in the different tabpage client controls. DockingManager[] dockingmgrs = new DockingManager[] { this.f1.dockingManager1, this.f2.dockingManager1, this.f3.dockingManager1 }; foreach(DockingManager manager in dockingmgrs) { manager.DockVisibilityChanged -= new DockVisibilityChangedEventHandler(this.DockingManager_DockVisibilityChanged); manager.TransferredToManager -= new TransferManagerEventHandler(this.DockingManager_TransferredToManager); }
VB
Dim dockingmgrs As DockingManager() = New DockingManager() { Me.f1.dockingManager1, Me.f2.dockingManager1, Me.f3.dockingManager1 } For Each manager As DockingManager In dockingmgrs RemoveHandler manager.DockVisibilityChanged, AddressOf DockingManager_DockVisibilityChanged RemoveHandler manager.TransferredToManager, AddressOf DockingManager_TransferredToManager Next manager
Sample: http://help.syncfusion.com/support/samples/kb/Tools.Windows/TDLManager/LinkedManagers.zip
Reference links: