# Docking and Floating Tabs

Learn how to enable/disable docking tab pages floating and docking.

## Content

DockingTab lets you to create docking and floating tab pages that can be dragged interactively around to make them float over any location. The control also allows you to tear off individual tab pages and automatically dock them to one of the other sides of the form, to another DockingTab control, or even float in a separate tool window.

The image below shows the DockingTab application at runtime.

![DockingTab application UI](https://cdn.mescius.io/document-site-files/images/1086a5ae-7197-4f26-942b-edb381682c69/images/enable-floating-dockingtab.png)

To observe the docking and floating behavior of the tab pages, select any one of the tab pages with your mouse and drag it anywhere on the form or screen.

The image below showcases the floating tabpages.

![Floating individual tabs in application UI](https://cdn.mescius.io/document-site-files/images/1086a5ae-7197-4f26-942b-edb381682c69/images/dockingtab-float.gif)

>type=note
> **Note**: You can use the C1CommandDock property [FloatHide](/componentone/docs/win/online-command5/) to control how the C1DockingTabPage behaves at run-time. This property allows you to choose to keep focus on the tab pages when the application loses focus. There are three possible settings for C1CommandDock.FloatHide: **Default**, **Never**, or **FocusLost**.

## Set Centre Tab Width

In C1CommandDock, the floating tabpages can be docked using **Left**, **Top**, **Right**, **Bottom**, and **Diamond** anchors. When docking the tabpages in the container, existing tabs may become hidden due to the space occupied by the new tab. In such scenarios, C1CommandDock allows you to set a minimum tab size for existing tabs through [CentralTabMinimumSize](/componentone/docs/win/online-command5/) property available in [C1CommandDock](/componentone/docs/win/online-command5/) class. The **CentralTabMinimumSize** accepts a non-negative value, either as a percentage or an absolute value. The percentage value specifies the minimum space reserved for the existing tabs as a proportion of the parent container, whereas absolute value specifies the space in terms of pixels.

>type=note
> **Note**: The CentralTabMinimumSize property requires at least two tabpages present in container while a new tab is docked in that area.

The image below illustrates how the CentralTabMinimumSize property preserves space for the existing tabs in C1CommandDock while new tab is being docked.

![Dockingtab-minimum central tab minimum size](https://cdn.mescius.io/document-site-files/images/1086a5ae-7197-4f26-942b-edb381682c69/images/dockingtab-centralminimumtabsize.gif)

The below code snippet illustrates setting the CentralTabMinimumSize property with value 150px for central tabs in C1CommandDock.

```csharp
c1CommandDock1.CentralTabMinimumSize.WidthType = SizeType.Absolute;
c1CommandDock1.CentralTabMinimumSize.Width = 150;
```

## Anchors in Floating Tabs

When a tab is detached from the main host window, it becomes an independent host window. This new window functions like the original, allowing additional tabs to be added and supports all docking (anchoring) operations, similar to the original host window.

The below GIF illustrates support of all docking operations in the new host window:

![Docking Tab New Host window all Anchors](https://cdn.mescius.io/document-site-files/images/1086a5ae-7197-4f26-942b-edb381682c69/images/dockingtab-newhostwindow-anchorgif.gif)

To enable docking operations in the new host window, use the [FloatingWindowOptions](/componentone/docs/win/online-command5/) property of [C1DockingManager](/componentone/docs/win/online-command5/) Class. Follow the below steps to enable all docking operations in floating window:

1. Add the **C1DockingManager** from the **ToolBox** onto the form. Observe that the **C1DockingManager** component is added to the component tray.
2. Switch to the code window, use the below code to enable all docking operation in the floating window:

    ```csharp
    c1DockingManager1.FloatingWindowOptions.AllowedAnchors = C1.Win.Command.AllowedAnchors.All;
    ```