Skip to main content
Email Password   helpLost your password?

IMPORTANT NOTICE: DockManager control is now obsolete and not supported. Please download the upgrade, DockPanel Suite, from sourceforge here.

Introduction

DockManager control is designed to achieve docking capability for MDI forms. It can be used to develop applications with same look and feel as Visual Studio .NET.

Complex hierarchies yet Simple Object Model

DockManager control mimics the user-interface style of drag and drop, dockable windows found within the Visual Studio .NET IDE. The screen shots show off the features:

The DockManager control maintains a very simple object model to achieve complex hierarchies. See the documentation for details.

Auto-Hide

DockManager has an auto-hide feature that enables valuable screen real estate to be preserved. In the screenshot below, all the tool windows are in auto-hide mode and the Solution Explorer tool window is currently being displayed:

Sample screenshot

Free drag and drop

At run time, the end-users can freely drag and drop windows to re-arrange to their preferred layout. The developer can limit this by simply setting some properties in Visual Studio IDE form designer.

Integration with the .NET framework and VS.NET

Working gracefully with other components is a very important factor all through the design of DockManager control.

At run time, the document window will be treated as a MDI form, so it gets all the MDI form�s features such as menu merge.

At design time, the control is fully supported by the Visual Studio .NET IDE. Most operations can be done by setting the properties in the form designer. Very few code need to be written.

Persistent to XML file

DockManager control can be persisted to XML file. By using this feature, the application can restore its screen layout every time it starts up. This is well demonstrated in the DockSample application.

Globalization design

DockManager control is designed to support multiple languages. Currently it�s available in English and simplified Chinese. To make localization to other language is very easy.

Terms and Conditions

DockManager control is provided as free software with source code provided. You can freely use it in your applications (commercial or non-commercial). Weifen Luo, The author of the control, owns the copyright of the control, and is NOT responsible for any damage in your application caused by using this control, directly or indirectly.

Weifen Luo will feel honored if his name appears somewhere in your applications using this control (about box, documentation, etc). He also welcomes all kinds of feedback (good or bad). Please feel free to contact him at: weifenluo@yahoo.com.

Credits and thankfulness

  1. Phil Wright, Magic UI Library ( http://www.dotnetmagic.com/). The code of Win32 API declaration, drawing of drag-and-drop shadow frame, InertButton control is from the Magic UI Library (I added more design-time support to the InertButton control). Though the implementation is completely different, the class names DockManager, Content, ContentWindow, FloatWindow remains the same from the library.
  2. JocobMVP, Moderator of http://www.windowsforms.com/, answered my question on how to obtain the control beneath the cursor, in the Control Development forum.
  3. Mike Harsh and May Ji from Microsoft Windows Forms team. After I reported the bug to them, their fast response was very impressive. May Ji also helped to provide workarounds.
  4. Those names mentioned in the Revision History who make suggestions or report the bugs.

Revision history

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralActiveDocumentChanged making problem Pin
ahsansharjeel
8:45 8 May '09  
Questionautosizing Dockpanel(urgent help) Pin
brindhakr
1:07 10 Apr '09  
GeneralBackground Image?? Pin
Muammar©
21:51 25 Mar '09  
AnswerRe: Background Image?? Pin
Muammar©
0:12 27 Mar '09  
QuestionRe: Background Image?? Pin
miglou
10:31 15 Apr '09  
GeneralWindowless ActiveX controls are not supported. Pin
StringDotEmpty
9:02 21 Mar '09  
QuestionSetting focus on active window from program Pin
GregP83
22:25 1 Mar '09  
AnswerRe: Setting focus on active window from program Pin
GregP83
22:37 1 Mar '09  
Generalway to disable close and implement it as hidding? Pin
agelospanagiotakis
5:16 22 Feb '09  
QuestionInvalid parent form - cannot solve this :( Pin
GregP83
18:31 15 Feb '09  
AnswerRe: Invalid parent form - cannot solve this :( Pin
GregP83
18:40 15 Feb '09  
AnswerRe: Invalid parent form - cannot solve this :( Pin
GregP83
20:58 1 Mar '09  
QuestionI can't figure out how to use it, am I a freak? Pin
John_Wesley
14:34 6 Feb '09  
GeneralRe: I can't figure out how to use it, am I a freak? Pin
.andy.b.
6:21 8 Feb '09  
AnswerRe: I can't figure out how to use it, am I a freak? Pin
.andy.b.
7:11 8 Feb '09  
GeneralRe: I can't figure out how to use it, am I a freak? Pin
Member 3097141
8:21 30 Mar '09  
GeneralKeeping docked windows grouped together. Pin
kawfeeEsim
12:38 11 Dec '08  
GeneralHow to show DockContent inside of DockContent's pane Pin
kawfeeEsim
6:33 11 Dec '08  
QuestionHow to know if a panel is Showing Pin
ArielR
7:26 4 Dec '08  
GeneralAsync invocation in tab constructor od OnLoad causes content not refreshing... Pin
Seishin#
4:11 21 Aug '08  
GeneralRe: Async invocation in tab constructor od OnLoad causes content not refreshing... Pin
Seishin#
6:45 8 Sep '08  
GeneralLast accessed Tab not persisted Title is required Pin
Milind Gogate
2:17 1 Jul '08  
GeneralSample Code How To? Pin
V3RO
6:07 25 Jun '08  
QuestionLicense agrement Pin
bmtbf
13:42 26 Feb '08  
GeneralRe: License agrement Pin
balazs_hideghety
4:28 2 Apr '08  


Last Updated 3 Aug 2006 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009