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 find out if a control is in a tabbed dock group in WinForms Docking Manager?

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

Dock group

There is no direct API to determine the tabbed state, but this can be easily accomplished by accessing some of the internal docking windows classes. The following code tests whether the dockable control ’listBox1’ is in a tabbed dock group, and if so, lists out all controls in that group.

C#

Trace.Assert(this.dockingManager1.GetEnableDocking(this.listBox1));
Syncfusion.Windows.Forms.Tools.DockHost dhost = this.listBox1.Parent as Syncfusion.Windows.Forms.Tools.DockHost;
Syncfusion.Windows.Forms.Tools.DockHostController dhc = dhost.InternalController as
Syncfusion.Windows.Forms.Tools.DockHostController;
if(dhc.ParentController is Syncfusion.Windows.Forms.Tools.DockTabController)
{
   Trace.WriteLine("Control is docked as a tab");
   Syncfusion.Windows.Forms.Tools.DockTabControl docktab = (dhc.ParentController as
Syncfusion.Windows.Forms.Tools.DockTabController).TabControl;
   foreach(DockTabPage tabpage in docktab.TabPages)
   {
      Control siblingcontrol = tabpage.dhcClient.HostControl.Controls[0];
      Trace.WriteLine(siblingcontrol.Name);
   }
}

 

VB

Trace.Assert(Me.dockingManager1.GetEnableDocking(Me.listBox1))
Dim dhost As Syncfusion.Windows.Forms.Tools.DockHost = Me.listBox1.Parent as
Syncfusion.Windows.Forms.Tools.DockHost
Dim dhc As Syncfusion.Windows.Forms.Tools.DockHostController = dhost.InternalController as
Syncfusion.Windows.Forms.Tools.DockHostController
If TypeOf dhc.ParentController Is Syncfusion.Windows.Forms.Tools.DockTabController Then
   Trace.WriteLine("Control is docked as a tab")
   Dim docktab As Syncfusion.Windows.Forms.Tools.DockTabControl = (dhc.ParentController as
Syncfusion.Windows.Forms.Tools.DockTabController).TabControl
   Dim tabpage As DockTabPage
   For Each tabpage In docktab.TabPages
       Dim siblingcontrol As Control = tabpage.dhcClient.HostControl.Controls(0)
Trace.WriteLine(siblingcontrol.Name)
   Next
End If

 

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