Telerik blogs

UPDATE: A hands-on demo added at the end of this post! No installation necessary.


We are happy to announce the release of the long waited Beta version of our new RadDock control. We have been overwhelmed with work for the last few weeks, but we are more than thrilled by the result. We managed to add an abundance of new features compared to the old DockingManger control, in addition to covering most of the functionality that existed in the previous DockingManager.

For starters, RadDock has much simpler object model and better API. The object structure mirrors the control tree that any WinForms dev is familiar with:  

RadDock for WinForms Structure

RadDock forms a control tree of RadSplitContainers, ToolTabStrips and ToolWindows:
  • RadSplitContainer corresponds to Microsoft’s SplitContainer, but it offers not just two, but a list of Panels. Actually RadDock inherits RadSplitContainer thus inheriting all the logic of displaying split windows. RadSplitContainer is also available as a separate control;
  • ToolTabStrip is a control that displays the tabs to switch to different tool windows docked in the same container. ToolWindow, as you probably have guessed, is the actual container for all the controls you wish to add and drag around.
Here is the code that recreates the docking window structure above:
var listView = new ToolWindow("List View"); 
radDock1.DockWindow(listView, DockPosition.Top); 
radDock1.DockWindow(new ToolWindow("Team Explorer"), DockPosition.Left); 


To add controls to the tool window:



Now, if I want to dock a window over listView:

radDock1.DockWindow(new ToolWindow("Another Window"), listView, DockPosition.Fill); 


This snippet will make the parent ToolTabStrip display tabs and allows for switching between “List View” and “Another View”.

Note that based on the sequence of calls to DockWindow() method, RadDock will create the corresponding RadSplitContiners and ToolTabStrip instances for you. You can of course browse the control tree to fine tune RadDock’s window structure. We believe this new approach makes the RadDock layout management much more intuitive.

In addition, RadDock offers substantial performance improvements over the old DockingManager, in terms of startup time, window resizing, drag/drop experience, and responsiveness. We are sure that your users will feel the difference and will be very happy with these.

It would be fairly easy for you to migrate from the old DockingManager to the new RadDock.  The DockingManager can be converted to RadDock with a few mouse clicks directly in the Visual Studio designer.  You should migrate the API calls by hand though. This means that the migration effort would depend mostly the on how extensively you have used the APIs  and related classes of the DockingManager. We have prepared a list of common APIs of DockingManger and the corresponding RadDock methods and props, as well as details migration instructions: RadDock for WinForms Q2 2009 Beta

The Beta release comes with several samples that you can use to test the behavior of RadDock: 

RadDock for WinForms Bug Tracker Demo


RadDock for WinForms RSS Demo


RadDock for WinForms RSS Reader Demo


More information about the migration process, known issues, as well as download instructions you can find on the RadDock for WinForms Q2 2009 Beta page.

We will be happy to have your feedback! All active beta testers will be rewarded with Telerik Points.

About the Author

Nikolay Diyanov

Diyanov is the Product Manager of the Native Mobile UI division at Progress. Delivering outstanding solutions that make developers' lives easier is his passion and the biggest reward in his work. In his spare time, Nikolay enjoys travelling around the world, hiking, sun-bathing and kite-surfing.

Find him on Twitter @n_diyanov or on LinkedIn.


Comments are disabled in preview mode.