The WinForms Docking Manager control provides an interface to create Visual Studio-like dockable windows in your applications. Dock panels support interactions like docking, floating, tabbing, auto hiding, and grouping document tabs. The control allows users to resize, move, and change the behavior of windows to create a layout that suits various development models.
Dockable windows can be dragged anywhere by users. They can be floated around the screen, pinned, and unpinned. As in Visual Studio, the Docking Manager control offers different kinds of windows:
Restrict windows from docking at specific sides of a target or at specific edges of a form. Also customize the dock hint visibility so that they are shown only on horizontal, vertical, or specific sides.
Users can utilize this interactive WinForms Docking Manager to resize windows by using a splitter between them. Resizing can be restricted within a minimum and maximum limit.
Built-in redock support saves the previous state of dock or float windows and moves the windows back to the state when the caption is double-clicked.
The Docking Manager in WinForms can arrange groups of dock, float, and auto hide tabs. When the space is not sufficient to display all the tabs, users can view the tabs outside the viewport by scrolling or clicking the scroll buttons.
Docking hints are displayed to indicate valid drop locations for docking panels while dragging the float window. Customize the appearance of the dock hints with built-in styles.
The WinForms Dock panels can be moved to different states using built-in context menu that appears when the caption is right-clicked. Improve the end-user experience by adding custom context menu entries.
Hide the visibility of a dock window caption dynamically.
The WinForms Docking Manager displays each document as a separate window within the client area. This allows users to work on more than one document at the same time and seamlessly switch back and forth between docked windows and MDI forms.
The Docking Manager in Windows Forms supports grouping relevant documents into separate tab groups and allows tab group creation in both horizontal and vertical orientations. This helps users display multiple open documents, similar to MDI windows.
Built-in serialization options support saving a dock layout in different formats on closing, and restoring it on opening the application.
Visual Studio like WinForms Docking control allows users to create nested docking layouts with docked windows inside other docked windows or directly dock windows to the main form.
Easily drag child windows from one docking manager to another by linking different docking managers.
The WinForms Docking Manager with a rich UI provides built-in themes like Office-style, Blend, Metro, and Visual Studio.
The WinForms Dock control supports localization to translate static text to any supported language.
A right-to-left (RTL) direction setting is available for users working with languages like Hebrew, Arabic, or Persian.
Easily get started with the WinForms Docking Manager control using a few simple lines of C# code example as demonstrated below. Also explore our WinForms Docking Manager Example that shows you how to render and configure the WinForms Docking Manager.
using Syncfusion.Windows.Forms.Tools;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
DockingManager dockingManager1 = new DockingManager();
CaptionButtonsCollection ccbpanel1 = new CaptionButtonsCollection();
Panel explorer = new Panel();
Panel output = new Panel();
public Form1()
{
InitializeComponent();
this.dockingManager1.HostControl = this;
this.dockingManager1.SetEnableDocking(explorer, true);
this.dockingManager1.SetEnableDocking(output, true);
this.dockingManager1.SetDockLabel(explorer, "Solution Explorer");
this.dockingManager1.SetDockLabel(output, "Output");
this.dockingManager1.DockControl(output, this, DockingStyle.Left, 100);
this.dockingManager1.DockControl(explorer, this, DockingStyle.Right, 100);
this.dockingManager1.CaptionButtons.Add(new CaptionButton(CaptionButtonType.Close, "CloseButton"));
this.dockingManager1.CaptionButtons.Add(new CaptionButton(CaptionButtonType.Pin, "PinButton"));
this.dockingManager1.CaptionButtons.Add(new CaptionButton(CaptionButtonType.Menu, "MenuButton"));
ccbpanel1.MergeWith(this.dockingManager1.CaptionButtons, false);
this.dockingManager1.SetCustomCaptionButtons(this.explorer, ccbpanel1);
this.dockingManager1.SetCustomCaptionButtons(this.output, ccbpanel1);
}
}
}
Syncfusion WinForms Docking Manager provides the following features:
You can find our WinForms Docking Manager demo on
GitHub location.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.