|Home Products Downloads Store Support Corporate|
SandDock Features in Depth
Through its advanced and flexible layout system, the SandDock controls are able to offer a great deal of features to help you configure a cutting-edge user interface in your application.
Features in Depth
Four Packaged Themes
We include renderer classes in SandDock that mimic the appearance of Visual Studio 2003, Office 2003, Visual Studio 2005 and Office 2007. Renderers also offer a choice of color schemes with which to further customize their appearance. The Visual Studio 2005 and Office 2003 renderers include color schemes to match the user's choice of color scheme in Windows, and the Office 2007 renderer includes a choice of Blue, Silver or Black color scheme.
The developer can further customize the appearance of their chosen theme by changing individual color properties, for very fine granularity. For the ultimate customization of appearance you can create your own renderer class or inherit from one you like and override individual drawing methods.
Diamond Docking Hints
Along with Visual Studio 2005 came a great improvement in the user interface for docking windows. Microsoft introduced diamond docking hints, which fade in and out in key places during a docking operation to visually guide the user to the available docking locations. As the cursor travels over these hints and around the screen, a translucent window preview follows it indicating the result of the docking operation, should it be committed.
SandDock fully supports this docking user interface along with the previous non-visual alternative. We also support a greater level of redocking ability than Visual Studio, allowing tabbed documents to be visually floated out of their container and docked with other windows, and docked windows to be made into tabbed documents. These extended docking options are available when the developer switches them on.
Unparalleled Designer Support
We are well known for the comprehensive level of designer integration we supply with our products, and perhaps the best example of this is SandDock. The result of our hard work is that integrating SandDock with your application is easy, and a pleasure to do. Docking windows around your form at design time is accomplished in exactly the same way as it is at runtime, using the same advanced docking hints. Tabbed documents behave in just the same way. If you wish to have a complex hierarchy of tabbed documents, simply create more than one and drag them around to split them.
One manager component on your form keeps track of these windows and allows you to add new ones, and once added, you simply drag them to the desired location. The rest of the window behavior, such as the rules that define where the user can visually dock it and whether it initially appears as collapsed, or unpinned, can be set with standard properties.
Your layout is saved as a part of the designer code for your form. There is no clunky collection editor and no separate interface just for design-time configuration. No other product of this kind has such good designer support.
Easy Layout Serialization
Once you include SandDock in your application you are giving your user great flexibility in configuring your user interface exactly how they like it. Once configured, they will expect the layout to remain consistent between subsequent runs of the application. We make this easy, with two simple methods. When your form is closing a call is made to one method, which returns a string representation of the entire layout. You persist this string to the storage medium of your choice, then call the other method when your form is next loading, passing the string, which restores the layout.
We also offer an AutoSaveLayout property. When set to true, layout is automatically saved using the default Windows Forms settings repository and no programmatic saving or restoring of layout is necessary.
A further enhancement to the designer features is the ability to define a dockable window or tabbed document alone, in isolation from your main form. This works in just the same way as defining a User Control. When you go to add a new item, you will see SandDock templates for User Dockable Window and User Tabbed Document. Adding one opens a standalone designer where you can create your window and more easily encapsulate its code, since it is defined in its own class. Later on, you then simply drag this window from your toolbox into your main form to add it to your SandDock layout.
Unified Window Architecture
Whether you are interested in dockable windows or tabbed documents (or both), you will be deriving from the same DockControl class. This base class ensures all windows behave in exactly the same way, with only superficial configuration differences. Although we fully expose our docking API for fine-grained control over window locations, this level of integration is not normally needed because windows remember their last positions with a great deal of accuracy. You will seldom need to use more than the Open and Close methods of windows programmatically.
A comprehensive range of events are raised on each window and the central manager component so your application can keep track of exactly what is going on. Examples are when windows are closed or their position changed, when windows receive the focus or when the active tabbed document changes.
SandDock offers all the flexibility of the Visual Studio dockable user interface and more. Dockable windows can be arranged into groups and hierarchies as complex or as simple as you like, and window memory ensures that after a user has finished with a window they can close it, and when next needed it will open just where they expect it. A group of windows can be unpinned so it takes up virtually no space, but its windows are still available and fly in (with animation) when the user needs them.
If you choose to use tabbed documents, you will find them a compelling replacement for the older MDI paradigm. Offering a similar set of events and methods, they are easier to manage as they resize proportionally along with your window, but can still be split and manipulated by the user when they want to view multiple documents at once.
As mentioned previously, a certain level of duality with dockable windows can be achieved by tweaking the docking rules. The user will then be able to drag your documents out of the main window to float and subsequently dock them.
When you want a great-looking TabControl with a good selection of themes, but don't want the complexity of a full-blown tabbed documents layout, you can look no further than the TabControl shipped with SandDock. It uses all the existing rendering and windowing technology in the library in a lightweight shell and can completely replace the Windows Forms TabControl class.