skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadDock

Represents the major control in the Telerik.WinForms.UI.Docking assembly. Root component for the entire docking framework. Provides highly extensible and completely transparent transaction-based API for managing a set of tool and document windows registered within the docking framework. Mimics the user experience found in Microsoft Visual Studio - dockable panes, tabbed documents, document navigation plus much more. A typical scenario of utilizing a docking framework is as follows:

Although a rare scenario, sometimes the need of nested RadDock instances may emerge. This is fully supported by the RadDock component and unlimited levels of nesting are allowed.

Inheritance
System.Object
RadControl
SplitPanel
RadSplitContainer
RadDock
Inherited Members
RadSplitContainer.Construct()
RadSplitContainer.CreateControlsInstance()
RadSplitContainer.ApplyThemeToSplitterElements()
RadSplitContainer.MergeWithParentContainer()
RadSplitContainer.GetSplitterElementAndButtonElementAtPoint(Point, SplitterElement, RadButtonElement)
RadSplitContainer.CanSelectAtDesignTime()
RadSplitContainer.OnControlRemoved(ControlEventArgs)
RadSplitContainer.OnChildPanelCollapsedChanged(SplitPanel)
RadSplitContainer.OnOrientationChanged(EventArgs)
RadSplitContainer.RestoreSplitterPosition(SplitterElement)
RadSplitContainer.MoveSplitter(SplitterElement, RadDirection)
RadSplitContainer.OnLayout(LayoutEventArgs)
RadSplitContainer.OnMouseDoubleClick(MouseEventArgs)
RadSplitContainer.OnMouseUp(MouseEventArgs)
RadSplitContainer.OnMouseLeave(EventArgs)
RadSplitContainer.OnSplitterMoved(SplitterEventArgs)
RadSplitContainer.OnSplitterMoving(SplitterCancelEventArgs)
RadSplitContainer.OnPanelCollapsing(SplitterElement, RadSplitContainer.PanelCollapsingEventArgs)
RadSplitContainer.OnPanelCollapsed(SplitterElement, EventArgs)
RadSplitContainer.OnNavigationButtonClick(Object, EventArgs)
RadSplitContainer.CalculateSplitterDistance(RadDirection, Int32, Int32, Int32, Int32)
RadSplitContainer.LayoutInternal()
RadSplitContainer.UpdateSplitter(SplitContainerLayoutInfo, Int32, Rectangle)
RadSplitContainer.SetBackColorThemeOverrides()
RadSplitContainer.ResetBackColorThemeOverrides()
RadSplitContainer.SplitterDistance
RadSplitContainer.EnableImmediateResize
RadSplitContainer.Cursor
RadSplitContainer.SplitContainerElement
RadSplitContainer.IsCleanUpTarget
RadSplitContainer.HasNonCollapsedChild
RadSplitContainer.HasVisibleSplitPanels
RadSplitContainer.Orientation
RadSplitContainer.VerticalResizeCursor
RadSplitContainer.HorizontalResizeCursor
RadSplitContainer.NavigationButtonCursor
RadSplitContainer.LayoutStrategy
RadSplitContainer.Splitters
RadSplitContainer.UseSplitterButtons
RadSplitContainer.EnableCollapsing
RadSplitContainer.PanelCollapsedChanged
RadSplitContainer.SplitterMoving
RadSplitContainer.SplitterMoved
RadSplitContainer.PanelCollapsing
RadSplitContainer.PanelCollapsed
SplitPanel.OnControlAdded(ControlEventArgs)
SplitPanel.WndProc(Message)
SplitPanel.ScaleControl(SizeF, BoundsSpecified)
SplitPanel.ElementTree
SplitPanel.EnableKeyMap
SplitPanel.CommandBindings
SplitPanel.ImageScalingSize
SplitPanel.SmallImageList
SplitPanel.ImageList
SplitPanel.IsDesignMode
SplitPanel.BorderStyle
SplitPanel.CreateParams
SplitPanel.MinimumSize
SplitPanel.MaximumSize
SplitPanel.DefaultSize
SplitPanel.Parent
SplitPanel.SplitPanelElement
SplitPanel.DefaultMargin
SplitPanel.ControlTreeChanged
RadControl.isResizing2
RadControl.isDisposing2
RadControl.invalidResizeRect
RadControl.isAccessibilityRequested
RadControl.CreateBehavior()
RadControl.CreateRootElement()
RadControl.InitializeRootElement(RootRadElement)
RadControl.LoadElementTree()
RadControl.LoadElementTree(Size)
RadControl.SetIsInitializing(Boolean)
RadControl.ShouldSerializeBackColor()
RadControl.ShouldSerializeForeColor()
RadControl.SetForeColorThemeOverrides()
RadControl.ResetForeColorThemeOverrides()
RadControl.ShouldSerializeFont()
RadControl.OnKeyDown(KeyEventArgs)
RadControl.OnKeyUp(KeyEventArgs)
RadControl.OnPreviewKeyDown(PreviewKeyDownEventArgs)
RadControl.OnKeyPress(KeyPressEventArgs)
RadControl.OnClick(EventArgs)
RadControl.OnDoubleClick(EventArgs)
RadControl.OnMouseEnter(EventArgs)
RadControl.OnMouseHover(EventArgs)
RadControl.OnMouseWheel(MouseEventArgs)
RadControl.OnMouseCaptureChanged(EventArgs)
RadControl.OnGotFocus(EventArgs)
RadControl.OnLostFocus(EventArgs)
RadControl.OnCreateControl()
RadControl.OnFontChanged(EventArgs)
RadControl.OnForeColorChanged(EventArgs)
RadControl.OnBackColorChanged(EventArgs)
RadControl.OnBindingContextChanged(EventArgs)
RadControl.OnLocationChanged(EventArgs)
RadControl.OnRightToLeftChanged(EventArgs)
RadControl.OnPaint(PaintEventArgs)
RadControl.OnAutoSizeChanged(EventArgs)
RadControl.OnInvalidated(RadElement)
RadControl.OnCaptureLosing()
RadControl.OnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.OnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.OnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.ProcessMnemonic(Char)
RadControl.ProcessCaptureChangeRequested(RadElement, Boolean)
RadControl.ProcessAutoSizeChanged(Boolean)
RadControl.CallOnMouseCaptureChanged(EventArgs)
RadControl.CallBaseOnGotFocus(EventArgs)
RadControl.CallBaseOnLostFocus(EventArgs)
RadControl.CallOnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.CallOnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.CallOnMouseUp(MouseEventArgs)
RadControl.CallOnMouseDown(MouseEventArgs)
RadControl.CallOnClick(EventArgs)
RadControl.CallOnDoubleClick(EventArgs)
RadControl.CallOnMouseEnter(EventArgs)
RadControl.CallOnMouseWheel(MouseEventArgs)
RadControl.CallOnMouseLeave(EventArgs)
RadControl.CallOnMouseMove(MouseEventArgs)
RadControl.CallOnMouseHover(EventArgs)
RadControl.CallOnPreviewKeyDown(PreviewKeyDownEventArgs)
RadControl.CallBaseOnKeyDown(KeyEventArgs)
RadControl.CallOnKeyDown(KeyEventArgs)
RadControl.CallBaseOnKeyPress(KeyPressEventArgs)
RadControl.CallOnKeyPress(KeyPressEventArgs)
RadControl.IsInputKey(Keys)
RadControl.GetInputElement()
RadControl.CallBaseOnKeyUp(KeyEventArgs)
RadControl.CallOnKeyUp(KeyEventArgs)
RadControl.CallOnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.CallOnVisibleChanged(EventArgs)
RadControl.OnNotifyPropertyChanged(String)
RadControl.OnNotifyPropertyChanged(PropertyChangedEventArgs)
RadControl.IComponentTreeHandler.GetShowFocusCues()
RadControl.IComponentTreeHandler.CreateRootElement()
RadControl.IComponentTreeHandler.CreateChildItems(RadElement)
RadControl.IComponentTreeHandler.InitializeRootElement(RootRadElement)
RadControl.IComponentTreeHandler.InvalidateElement(RadElement)
RadControl.IComponentTreeHandler.InvalidateElement(RadElement, Rectangle)
RadControl.IComponentTreeHandler.InvalidateIfNotSuspended()
RadControl.IComponentTreeHandler.GetAmbientPropertyValue(RadProperty)
RadControl.IComponentTreeHandler.ControlThemeChangedCallback()
RadControl.IComponentTreeHandler.OnAmbientPropertyChanged(RadProperty)
RadControl.IComponentTreeHandler.OnFocusRequested(RadElement)
RadControl.IComponentTreeHandler.OnCaptureChangeRequested(RadElement, Boolean)
RadControl.IComponentTreeHandler.OnDisplayPropertyChanged(RadPropertyChangedEventArgs)
RadControl.IComponentTreeHandler.CallOnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.IComponentTreeHandler.CallOnMouseCaptureChanged(EventArgs)
RadControl.IComponentTreeHandler.CallOnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.IComponentTreeHandler.CallOnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.GetPreferredSize(Size)
RadControl.GetRootElementDesiredSize(Int32, Int32, Int32, Int32)
RadControl.OnZoomGesture(ZoomGestureEventArgs)
RadControl.OnRotateGesture(RotateGestureEventArgs)
RadControl.OnPanGesture(PanGestureEventArgs)
RadControl.OnTwoFingerTapGesture(GestureEventArgs)
RadControl.OnPressAndTapGesture(PressAndTapGestureEventArgs)
RadControl.OnGesture(GestureEventArgs)
RadControl.ProcessGesture(Message)
RadControl.EnableGesture(GestureType)
RadControl.DisableGesture(GestureType)
RadControl.Refresh()
RadControl.SuspendUpdate()
RadControl.ResumeUpdate()
RadControl.ResumeUpdate(Boolean)
RadControl.InvokeLayoutCallback(LayoutCallback)
RadControl.RegisterHostedControl(RadHostItem)
RadControl.UnregisterHostedControl(RadHostItem, Boolean)
RadControl.ControlDefinesThemeForElement(RadElement)
RadControl.ResolveStyleGroupForElement(StyleGroup, RadObject)
RadControl.GetPlainText()
RadControl.CanEditUIElement(RadElement)
RadControl.GetChildAt(Int32)
RadControl.ShouldSerializeProperty(RadProperty)
RadControl.ShouldSerializeProperty(RadProperty, RadObject)
RadControl.ResetProperty(RadProperty, RadObject)
RadControl.CanEditElementAtDesignTime(RadElement)
RadControl.GetControlDefaultSize()
RadControl.GetDpiScaledSize(Size)
RadControl.GetDpiScaledSize(SizeF)
RadControl.ProcessCodedUIMessage(IPCMessage)
RadControl.FindPropertyInChildren(RadControl, IPCMessage)
RadControl.CallAccessibilityNotifyClients(AccessibleEvents, Int32)
RadControl.IPCHost.ProcessMessage(IPCMessage)
RadControl.PerformRadAutoScale(Nullable<BoundsSpecified>)
RadControl.SetRadAutoScale(Boolean)
RadControl.IComponentTreeHandler.get_Name()
RadControl.IComponentTreeHandler.set_Name(String)
RadControl.EnableDpiScaling
RadControl.EnableRadAutoScale
RadControl.EnableRadFormInitialDpiScaling
RadControl.EnableImageDpiScaling
RadControl.EnableSvgImages
RadControl.IsTrial
RadControl.IsLoaded
RadControl.LayoutManager
RadControl.UseCompatibleTextRenderingDefaultValue
RadControl.Behavior
RadControl.RootElement
RadControl.ThemeName
RadControl.EnableTheming
RadControl.UseCompatibleTextRendering
RadControl.Focusable
RadControl.CausesValidation
RadControl.IsInitializing
RadControl.SmallImageScalingSize
RadControl.IsDisplayed
RadControl.FocusedElement
RadControl.AllowShowFocusCues
RadControl.ShowItemToolTips
RadControl.Font
RadControl.ValidationCancel
RadControl.IComponentTreeHandler.IsDesignMode
RadControl.IComponentTreeHandler.ElementTree
RadControl.IComponentTreeHandler.Behavior
RadControl.IComponentTreeHandler.Initializing
RadControl.IComponentTreeHandler.ThemeClassName
RadControl.EnableGestures
RadControl.EnableAnalytics
RadControl.AnalyticsName
RadControl.EnableRadAccessibilityObjects
RadControl.AccessibilityRequested
RadControl.EnableCodedUITests
RadControl.EnableCodedUITestsDefaultValue
RadControl.EnableUIAutomation
RadControl.EnableUIAutomationDefaultValue
RadControl.IPCHost.Context
RadControl.ElementInvalidated
RadControl.ToolTipTextNeeded
RadControl.ScreenTipNeeded
RadControl.ThemeNameChanged
RadControl.Initialized
RadControl.PropertyChanged
RadControl.ZoomGesture
RadControl.RotateGesture
RadControl.PanGesture
RadControl.TwoFingerTapGesture
RadControl.PressAndTapGesture
Namespace: Telerik.WinControls.UI.Docking
Assembly: Telerik.WinControls.RadDock.dll

Syntax

[TelerikToolboxCategory("Containers")]
public class RadDock : RadSplitContainer, INotifyPropertyChanged, ISupportInitializeNotification, ISupportInitialize, IComponentTreeHandler, ILayoutHandler, IPCHost, IAnalyticsProvider, ILoadObsoleteDockingManagerXml, IMessageListener

Constructors

RadDock()

Initializes a new RadDock instance.

Declaration
public RadDock()

Fields

DockSplitContainerThemeClassName

Declaration
public const string DockSplitContainerThemeClassName = "DockSplitContainer"
Field Value
System.String

Properties

ActiveFloatingWindows

Gets a read-only collection of all active floating windows managed by this RadDock instance.

Declaration
public ReadOnlyCollection<FloatingWindow> ActiveFloatingWindows { get; }
Property Value
System.Collections.ObjectModel.ReadOnlyCollection<FloatingWindow>

Remarks

This property provides access to all floating windows that contain valid dock windows. Floating windows that are disposed or don't contain valid dock windows are filtered out. This collection is useful for operations that need to work with only the currently active floating windows.

ActiveWindow

Gets or sets the DockWindow instance, which is currently active (meaning it contains the Keyboard focus).

Declaration
public DockWindow ActiveWindow { get; set; }
Property Value
DockWindow

AllowDrop

Gets or sets a value indicating whether the control can accept data that the user drags onto it.

Declaration
public override bool AllowDrop { get; set; }
Property Value
System.Boolean

true if drag and drop is allowed; otherwise, false.

Remarks

This property is hidden from the designer as drag and drop behavior is managed internally by the specialized docking drag-drop service.

AutoDetectMdiChildren

Gets or sets a value indicating whether [auto detect MDI child].

Declaration
public bool AutoDetectMdiChildren { get; set; }
Property Value
System.Boolean

true if [auto detect MDI child]; otherwise, false.

AutoHideAnimation

Determines what animation will be used when displaying/hiding auto-hidden windows.

Declaration
public AutoHideAnimateMode AutoHideAnimation { get; set; }
Property Value
AutoHideAnimateMode

AutoHideAnimationDuration

Gets or sets the duration of the auto hide window animation. The default value is 200 milliseconds.

Declaration
public int AutoHideAnimationDuration { get; set; }
Property Value
System.Int32

The duration of the auto hide window animation. The default value is 200 milliseconds.

AutoHidePopup

Gets the popup control used for displaying auto-hide windows.

Declaration
public AutoHidePopup AutoHidePopup { get; }
Property Value
AutoHidePopup

An AutoHidePopup instance that manages the display of auto-hidden windows.

Remarks

The auto-hide popup is displayed when the user hovers over an auto-hide tab, showing the content of the associated docking window temporarily.

AutoScroll

Gets or sets a value indicating whether the container enables auto-scrolling.

Declaration
public override bool AutoScroll { get; set; }
Property Value
System.Boolean

true if auto-scrolling is enabled; otherwise, false.

Remarks

This property is hidden from the designer as scrolling behavior is managed internally by the docking framework.

AutoScrollMargin

Gets or sets the margin around the auto-scroll area.

Declaration
public Size AutoScrollMargin { get; set; }
Property Value
System.Drawing.Size

A System.Drawing.Size representing the margin of the auto-scroll area.

Remarks

This property is hidden from the designer as auto-scrolling behavior is managed internally by the RadDock control.

AutoScrollMinSize

Gets or sets the minimum size of the auto-scroll area.

Declaration
public Size AutoScrollMinSize { get; set; }
Property Value
System.Drawing.Size

A System.Drawing.Size representing the minimum size of the auto-scroll area.

Remarks

This property is hidden from the designer as auto-scrolling behavior is managed internally by the RadDock control.

AutoSize

Gets or sets whether the edit control is auto-sized

Declaration
public override bool AutoSize { get; set; }
Property Value
System.Boolean

Overrides
RadSplitContainer.AutoSize

BackColor

RadDock consists of multiple visual elements and separate settings are provided to customize their appearance. Current BackColor property might be ignored.

Declaration
public override Color BackColor { get; set; }
Property Value
System.Drawing.Color

Overrides
RadControl.BackColor

Collapsed

Gets or sets a value indicating whether the RadDock is collapsed.

Declaration
public bool Collapsed { get; set; }
Property Value
System.Boolean

true if the dock is collapsed; otherwise, false.

Remarks

This property is hidden from the designer as collapsing behavior is managed internally by the docking framework. Using this property directly may cause unexpected behavior in the docking layout.

CommandManager

Gets the RadDockCommandManager registered with this RadDock instance.

Declaration
public RadDockCommandManager CommandManager { get; }
Property Value
RadDockCommandManager

ContentRectangle

Overrides the content rectangle to add any visible auto-hide tabstrips to the calculations.

Declaration
public override Rectangle ContentRectangle { get; }
Property Value
System.Drawing.Rectangle

Overrides
RadSplitContainer.ContentRectangle

DockingGuidesTemplate

Gets or sets the template, which defines the appearance of the guides displayed upon drag-and-drop operation.

Declaration
public IDockingGuidesTemplate DockingGuidesTemplate { get; set; }
Property Value
IDockingGuidesTemplate

DockWindows

Gets a collection with all the currently attached DockWindow instances.

Declaration
public DockWindowCollection DockWindows { get; }
Property Value
DockWindowCollection

DocumentManager

Gets the DocumentManager instance that manages all the DockWindow instances which are parented MainDocumentContainer. For a Document is considered either a DocumentWindow instance or a ToolWindow, which current DockState is TabbedDocument.

Declaration
public DocumentManager DocumentManager { get; }
Property Value
DocumentManager

DocumentTabsAlignment

Gets or sets the alignment of the TabStripElement in all DocumentTabStrip instances.

Declaration
public TabStripAlignment DocumentTabsAlignment { get; set; }
Property Value
TabStripAlignment

DocumentTabsTextOrientation

Gets or sets the text orientation of the TabStripElement in all ToolTabStrip instances.

Declaration
public TabStripTextOrientation DocumentTabsTextOrientation { get; set; }
Property Value
TabStripTextOrientation

DocumentTabsVisible

Determines whether the TabStripElement in DocumentTabStrip instances is visible.

Declaration
public bool DocumentTabsVisible { get; set; }
Property Value
System.Boolean

DragDropAllowedDockStates

Gets or sets the allowed dock states for a committing drag-and-drop operation.

Declaration
public AllowedDockState DragDropAllowedDockStates { get; set; }
Property Value
AllowedDockState

DragDropMode

Gets or sets the mode used by the DragDropService when a drag-and-drop request is made.

Declaration
public DragDropMode DragDropMode { get; set; }
Property Value
DragDropMode

Enabled

Declaration
public bool Enabled { get; set; }
Property Value
System.Boolean

EnableFloatingWindowSnapping

Determines whether all floating windows' will snap to their edges.

Declaration
public bool EnableFloatingWindowSnapping { get; set; }
Property Value
System.Boolean

EnableFloatingWindowTheming

Determines whether all floating windows' frames within the framework will be themed using Telerik's TPF or will be let with their system appearance.

Declaration
public bool EnableFloatingWindowTheming { get; set; }
Property Value
System.Boolean

FloatingWindows

Gets a list of the floating windows. Can contain duplicates, empty or hidden toolwindows which are used internally as re-dock targets.

Declaration
public FloatingWindowCollection FloatingWindows { get; }
Property Value
FloatingWindowCollection

ForeColor

RadDock consists of multiple visual elements and separate settings are provided to customize their appearance. Current ForeColor property might be ignored.

Declaration
public override Color ForeColor { get; set; }
Property Value
System.Drawing.Color

Overrides
RadSplitContainer.ForeColor

GuidToNameMappings

Gets a collection of mappings between GUIDs and window names used during serialization and deserialization.

Declaration
public GuidToNameMappingCollection GuidToNameMappings { get; }
Property Value
GuidToNameMappingCollection

Remarks

This collection maintains the associations between window GUIDs and their names, which is critical for correctly restoring windows during deserialization.

The GUID-to-name mappings ensure that windows can be identified consistently across serialization operations, even if window names change. This is particularly important when loading layouts in applications where window instances may be recreated with different names but should still be recognized as the same logical windows.

IsDragging

Gets a value indicating whether a drag-and-drop operation is currently in progress.

Declaration
public bool IsDragging { get; }
Property Value
System.Boolean

Remarks

This property checks the state of the DragDropService to determine if a window or tab is currently being dragged by the user. This can be useful for controlling UI behavior during drag operations or for preventing certain actions while dragging is in progress.

IsInTransactionBlock

Determines whether the RadDock is currently in a transaction (internal operation).

Declaration
public bool IsInTransactionBlock { get; }
Property Value
System.Boolean

Item[String]

Gets DockWindow instance with the corresponding Name.

Declaration
public DockWindow this[string dockWindowName] { get; }
Parameters
System.String dockWindowName

Property Value
DockWindow

DockWindow instance with matching Name. Null (Nothing in VB.NET) otherwise.

LayoutStrategyType

Gets or sets the Type to be used when a new RadSplitContainer instance is internally created and a layout strategy is initialized for it. Allows plugging of completely custom layout behavior.

Declaration
public Type LayoutStrategyType { get; set; }
Property Value
System.Type

MainDocumentContainer

Gets or sets the document container for this RadDock instance. This property is used primarily for serialization purposes and is not intended to be used directly by code.

Declaration
public DocumentContainer MainDocumentContainer { get; set; }
Property Value
DocumentContainer

MainDocumentContainerVisible

Determines whether the main document container is visible.

Declaration
public bool MainDocumentContainerVisible { get; set; }
Property Value
System.Boolean

MdiChildren

Gets an array with all the standard Forms added as TabbedDocument to this RadDock instance.

Declaration
public Form[] MdiChildren { get; }
Property Value
System.Windows.Forms.Form[]

MdiChildrenDockType

Gets or sets a value indicating dock type of MDI child host windows added to RadDock.

Declaration
public DockType MdiChildrenDockType { get; set; }
Property Value
DockType

Padding

Declaration
public Padding Padding { get; set; }
Property Value
System.Windows.Forms.Padding

QuickNavigatorSettings

Gets the object which controls the appearance of the QuickNavigator control.

Declaration
public QuickNavigatorSettings QuickNavigatorSettings { get; }
Property Value
QuickNavigatorSettings

ReleaseMemoryOnClose

Declaration
public bool ReleaseMemoryOnClose { get; set; }
Property Value
System.Boolean

RootContainer

Gets the root split container for the RadDock control hierarchy.

Declaration
public RadSplitContainer RootContainer { get; }
Property Value
RadSplitContainer

A RadSplitContainer that represents the root container in the hierarchy.

Remarks

This property is hidden from the designer as the container hierarchy is managed internally by the docking framework.

SerializableAutoHideContainer

Gets an instance of DockAutoHideSerializationContainer that contains information about auto-hidden windows which have been set up through designer or xml file. This nethod is no intended for use directly from your code.

Declaration
public DockAutoHideSerializationContainer SerializableAutoHideContainer { get; }
Property Value
DockAutoHideSerializationContainer

SerializableFloatingWindows

Gets an instance of FloatingWindowList that contains information about floating windows which have been set up through designer or xml file. This nethod is no intended for use directly from your code.

Declaration
public FloatingWindowList SerializableFloatingWindows { get; }
Property Value
FloatingWindowList

ShowDocumentCloseButton

Determines whether DocumentTabStrip instances will display a Close Button next to each item.

Declaration
public bool ShowDocumentCloseButton { get; set; }
Property Value
System.Boolean

ShowDocumentPinButton

Determines whether DocumentTabStrip instances will display a Pin Button next to each item.

Declaration
public bool ShowDocumentPinButton { get; set; }
Property Value
System.Boolean

ShowToolCloseButton

Determines whether ToolTabStrip instances will display Close Button next to each item.

Declaration
public bool ShowToolCloseButton { get; set; }
Property Value
System.Boolean

SingleScreen

Gets or sets a value indicating whether the RadDock control behavior and layout apply only to primary screen.

Declaration
public bool SingleScreen { get; set; }
Property Value
System.Boolean

Site

Declaration
public override ISite Site { get; set; }
Property Value
System.ComponentModel.ISite

Overrides
RadControl.Site

SizeInfo

Gets size information for the RadDock panel.

Declaration
public SplitPanelSizeInfo SizeInfo { get; }
Property Value
SplitPanelSizeInfo

A SplitPanelSizeInfo object containing sizing information for the panel.

Remarks

This property is hidden from the designer as sizing is managed internally by the docking framework.

SplitContainer

Gets the parent split container of this RadDock control.

Declaration
public RadSplitContainer SplitContainer { get; }
Property Value
RadSplitContainer

A RadSplitContainer that is the parent of this control.

Remarks

This property is hidden from the designer as the relationship between dock and split containers is managed internally by the docking framework.

SplitPanels

Gets the collection of split panels contained in this RadDock control.

Declaration
public SplitPanelCollection SplitPanels { get; }
Property Value
SplitPanelCollection

A SplitPanelCollection containing the split panels.

Remarks

This property is hidden from the designer and should not be used directly. The RadDock control manages its panels internally.

SplitterWidth

Declaration
public override int SplitterWidth { get; set; }
Property Value
System.Int32

Overrides
RadSplitContainer.SplitterWidth

TabStripsLayout

Gets the layout panel that contains the tab strips for the docking windows.

Declaration
public DockLayoutPanel TabStripsLayout { get; }
Property Value
DockLayoutPanel

A DockLayoutPanel that manages the layout of tab strips in the docking framework.

Text

This property is not relevant for this class.

Declaration
public override string Text { get; set; }
Property Value
System.String

Overrides
RadSplitContainer.Text

ThemeClassName

Gets or sets the theme class name used for applying visual styles to this control.

Declaration
public override string ThemeClassName { get; set; }
Property Value
System.String

Overrides
RadSplitContainer.ThemeClassName
Remarks

The theme class name is used by the theming engine to identify which visual styles should be applied to this control. For RadDock, this property always returns the full name of the RadDock class, ensuring consistent styling across all instances.

This property is overridden to provide a fixed value and should not be modified directly.

ToolTabsAlignment

Gets or sets the alignment of the TabStripElement in all ToolTabStrip instances.

Declaration
public TabStripAlignment ToolTabsAlignment { get; set; }
Property Value
TabStripAlignment

ToolTabsTextOrientation

Gets or sets the text orientation of the TabStripElement in all ToolTabStrip instances.

Declaration
public TabStripTextOrientation ToolTabsTextOrientation { get; set; }
Property Value
TabStripTextOrientation

ToolTabsVisible

Determines whether the TabStripElement in ToolTabStrip instances is visible.

Declaration
public bool ToolTabsVisible { get; set; }
Property Value
System.Boolean

ToolWindowInsertOrder

Gets or sets the insert order to be used when adding dock windows to a ToolTabStrip.

Declaration
public DockWindowInsertOrder ToolWindowInsertOrder { get; set; }
Property Value
DockWindowInsertOrder

XmlSerializationInfo

Gets the serialization info for RadDock used by Save/Load loyout methods to persist grid settings to/from XML. By default, or when set to null the ComponentXmlSerializationInfo provided by GetDefaultXmlSerializationInfo() will be used.

Declaration
public ComponentXmlSerializationInfo XmlSerializationInfo { get; set; }
Property Value
ComponentXmlSerializationInfo

Methods

ActivateMdiChild(Form)

Activates the MDI child of a form.

Declaration
public void ActivateMdiChild(Form form)
Parameters
System.Windows.Forms.Form form

The child form to activate.

ActivateWindow(DockWindow)

Activates the specified DockWindow and gives it the keyboard focus.

Declaration
public bool ActivateWindow(DockWindow window)
Parameters
DockWindow window

The DockWindow to activate. If null, no window will be activated.

Returns
System.Boolean

True if the window was successfully activated and has focus; otherwise, false.

Remarks

This method activates the specified window by:

  • Making it the active window in the RadDock control
  • Ensuring it's visible (sliding out if auto-hidden)
  • Giving it keyboard focus
  • Updating its visual state to appear active
  • Raising appropriate ActiveWindowChanging and ActiveWindowChanged events

This method is equivalent to calling ActivateWindow(window, false).

ActivateWindow(DockWindow, Boolean)

Activates the specified window and gives it the keyboard focus.

Declaration
protected virtual bool ActivateWindow(DockWindow window, bool forceNotify)
Parameters
DockWindow window

System.Boolean forceNotify

True to force ActiveWindowChanging and ActiveWindowChanged notifications, false otherwise. Sometimes a transaction may change the current active window several times and the method needs to know when to raise the notifications.

Returns
System.Boolean

AddDocument(DockWindow)

Adds the specified DockWindow instance to the main document tab strip.

Declaration
public void AddDocument(DockWindow dockWindow)
Parameters
DockWindow dockWindow

The dock window.

AddDocument(DockWindow, DockPosition)

Adds the the specified DockWindow instance at the specified dock position, aligned with the main document tabstrip.

Declaration
public void AddDocument(DockWindow dockWindow, DockPosition position)
Parameters
DockWindow dockWindow

The dock window.

DockPosition position

The desired dock position.

AddDocument(DockWindow, DockWindow, DockPosition)

Adds the the specified DockWindow instance to the specified DocumentTabStrip instance.

Declaration
public void AddDocument(DockWindow dockWindow, DockWindow target, DockPosition position)
Parameters
DockWindow dockWindow

The dock window.

DockWindow target

The target of the dock opeation.

DockPosition position

The desired dock position.

AddDocument(DockWindow, DocumentTabStrip, DockPosition)

Adds the specified DockWindow instance to a new DocumentTabStrip instance.

Declaration
public void AddDocument(DockWindow dockWindow, DocumentTabStrip tabStrip, DockPosition position)
Parameters
DockWindow dockWindow

The dock window.

DocumentTabStrip tabStrip

The DocumentTabStrip, which is the target of the operation.

DockPosition position

The position.

AddDocuments(DockWindow[], DocumentTabStrip, DockPosition)

Adds a collection of DockWindows to a new DocumentTabStrip instance.

Declaration
public void AddDocuments(DockWindow[] dockWindows, DocumentTabStrip tabStrip, DockPosition position)
Parameters
DockWindow[] dockWindows

The dock windows.

DocumentTabStrip tabStrip

The DocumentTabStrip, which is the target of the operation.

DockPosition position

The position.

ApplySplitterWidth(Int32)

Declaration
public override void ApplySplitterWidth(int splitterWidth)
Parameters
System.Int32 splitterWidth

Overrides
RadSplitContainer.ApplySplitterWidth(Int32)

AutoHideWindow(DockWindow)

Makes the specified DockWindow auto-hidden along an edge of the docking layout.

Declaration
public void AutoHideWindow(DockWindow window)
Parameters
DockWindow window

The DockWindow instance to auto-hide.

Remarks

This method changes the dock state of the window to auto-hide, making it collapse to a tab along an edge of the docking layout. When auto-hidden, the window will slide out when the user hovers over or clicks its tab.

If the window is part of a tab strip, the entire tab strip will be auto-hidden. The auto-hide position (Left, Right, Top, Bottom) is determined based on the window's current position in the layout.

AutoHideWindows(IEnumerable<DockWindow>, AutoHidePosition)

Makes the specified collection of DockWindow instances auto-hidden at a specific edge.

Declaration
public void AutoHideWindows(IEnumerable<DockWindow> windows, AutoHidePosition position)
Parameters
System.Collections.Generic.IEnumerable<DockWindow> windows

The collection of DockWindow instances to auto-hide.

AutoHidePosition position

The edge position (Left, Right, Top, Bottom) at which the windows should be auto-hidden.

Remarks

This method changes the dock state of all specified windows to auto-hide, making them collapse to tabs along the specified edge of the docking layout. When auto-hidden, the windows will slide out when the user hovers over or clicks their tabs.

All windows specified will be grouped together in the auto-hide area, with each window represented by a tab.

BeginInit()

Signals the object that initialization is beginning.

Declaration
public override void BeginInit()
Overrides
RadControl.BeginInit()
Remarks

This method suspends certain operations like layout updates and event raising during the initialization phase to improve performance and prevent errors from incomplete state.

BeginTransactionBlock()

Opens a transaction (batch) operation. This is used by the framework to indicate some lengthy operations, during which no updates should be performed.

Declaration
public void BeginTransactionBlock()

BeginTransactionBlock(Boolean)

Opens a transaction (batch) operation. This is used by the framework to indicate some lengthy operations, during which no updates should be performed.

Declaration
public void BeginTransactionBlock(bool saveActiveWindow)
Parameters
System.Boolean saveActiveWindow

BeginUpdate()

Begins an update operation. Internally used by the transaction mechanism.

Declaration
public void BeginUpdate()

CallOnControlTreeChanged(ControlTreeChangedEventArgs)

Calls the OnControlTreeChanged method. This method is used internally.

Declaration
public virtual void CallOnControlTreeChanged(ControlTreeChangedEventArgs args)
Parameters
ControlTreeChangedEventArgs args

CanChangeWindowState(DockWindow, DockState)

Determines whether the provided dock state may be applied to the specified DockWindow.

Declaration
public bool CanChangeWindowState(DockWindow window, DockState state)
Parameters
DockWindow window

DockState state

Returns
System.Boolean

CanChangeWindowState(DockWindow, DockState, Boolean)

Determines whether the specified window's DockState value can be changed to the specified new one.

Declaration
protected virtual bool CanChangeWindowState(DockWindow window, DockState state, bool raiseChanging)
Parameters
DockWindow window

The window, which should be examined.

DockState state

The new target state.

System.Boolean raiseChanging

True to raise DockStateChanging notification, false otherwise.

Returns
System.Boolean

True if the state can be changed, false otherwise.

CleanUp()

Performs a clean-up pass which removes all unnecessary internally created split panels and/or collapses or disposes them.

Declaration
public void CleanUp()

CloseAllWindows()

Calls the Close method for all currently registered windows, using each window's CloseAction.

Declaration
public bool CloseAllWindows()
Returns
System.Boolean

[true] if all windows were successfully closed, [false] otherwise

CloseAutoHidePopup()

Closes the popup of the currently opened auto-hide window.

Declaration
public void CloseAutoHidePopup()

CloseWindow(DockWindow)

Removes or hides the specified window based on its CloseAction property.

Declaration
public void CloseWindow(DockWindow window)
Parameters
DockWindow window

The DockWindow instance to close.

Remarks

This method closes the specified window according to its CloseAction property:

  • CloseAction.Close: Removes the window from the layout without disposing it
  • CloseAction.CloseAndDispose: Removes the window and disposes it
  • CloseAction.Hide: Hides the window but keeps it registered with the docking manager

If the window is already hidden (DockState.Hidden) and its CloseAction is Hide, this method does nothing.

CloseWindows(IEnumerable<DockWindow>)

Removes or hides the specified collection of windows based on their CloseAction properties.

Declaration
public void CloseWindows(IEnumerable<DockWindow> windows)
Parameters
System.Collections.Generic.IEnumerable<DockWindow> windows

The collection of DockWindow instances to close.

Remarks

This method closes each window in the collection according to its CloseAction property:

  • CloseAction.Close: Removes the window from the layout without disposing it
  • CloseAction.CloseAndDispose: Removes the window and disposes it
  • CloseAction.Hide: Hides the window but keeps it registered with the docking manager

The operation is performed as a single transaction, ensuring consistent behavior and proper events. Before closing each window, a DockWindowClosing event is raised, which can be handled to cancel the operation for specific windows.

CommitTransaction(RadDockTransaction)

Commits the specified transaction.

Declaration
protected virtual void CommitTransaction(RadDockTransaction transaction)
Parameters
RadDockTransaction transaction

Contains(String)

Determines whether a DockWindow instance with the specified name is registered with this RadDock instance.

Declaration
public bool Contains(string name)
Parameters
System.String name

Returns
System.Boolean

Contains(DockWindow)

Determines whether the specified DockWindow is registered with this RadDock instances.

Declaration
public bool Contains(DockWindow dockWindow)
Parameters
DockWindow dockWindow

Returns
System.Boolean

CreateChildItems(RadElement)

Declaration
protected override void CreateChildItems(RadElement parent)
Parameters
RadElement parent

Overrides
RadSplitContainer.CreateChildItems(RadElement)

CreateDefaultTabStrip(DockType)

Creates and returns the default DockTabStrip for a given DockType.

Declaration
public DockTabStrip CreateDefaultTabStrip(DockType type)
Parameters
DockType type

The DockType that determines what kind of tab strip to create. DockType.Document creates a DocumentTabStrip, while any other value creates a ToolTabStrip.

Returns
DockTabStrip

A new instance of DockTabStrip appropriate for the specified dock type, with default properties applied based on the dock type.

Remarks

This method creates either a DocumentTabStrip or ToolTabStrip based on the specified type parameter. The created tab strip is properly initialized with DPI scaling and other settings but is not automatically added to the dock layout - you need to add it manually to the appropriate container.

CreateLayoutStrategy()

Creates new SplitContainerLayoutStrategy instance. Allows inheritors to provide custom layout strategy implementation.

Declaration
protected virtual SplitContainerLayoutStrategy CreateLayoutStrategy()
Returns
SplitContainerLayoutStrategy

A new instance of SplitContainerLayoutStrategy that will be used for layout calculations.

Remarks

This method creates a layout strategy based on the layoutStrategyType field. If instantiation fails or layoutStrategyType is null, it creates a default SplitContainerLayoutStrategy instance. The layout strategy is responsible for calculating the size and position of panels within split containers.

CreateXmlWriterSettings()

Creates the core XmlWritterSettings to be used by the serialization manager.

Declaration
protected virtual XmlWriterSettings CreateXmlWriterSettings()
Returns
System.Xml.XmlWriterSettings

DisplayQuickNavigator()

Visualizes the QuickNavigator control allowing for active tool windows and documents browsing.

Declaration
public QuickNavigator DisplayQuickNavigator()
Returns
QuickNavigator

The QuickNavigator instance that is currently displayed. May return null if operation was unsuccessful.

DisplayWindow(DockWindow)

Displays the specified window if it was previously hidden, restoring it to its previous dock state.

Declaration
public void DisplayWindow(DockWindow window)
Parameters
DockWindow window

The DockWindow instance to display.

Remarks

This method restores a hidden window to its previous dock state. If the window was not previously hidden or is not registered with this RadDock instance, this method has no effect.

The window will be displayed in the same location it was in before being hidden, whether that was docked, floating, auto-hidden, or as a tabbed document.

DisplayWindows(IEnumerable<DockWindow>)

Displays the provided collection of dock windows if they were previously hidden and are registered with this RadDock instance.

Declaration
public void DisplayWindows(IEnumerable<DockWindow> windows)
Parameters
System.Collections.Generic.IEnumerable<DockWindow> windows

The collection of DockWindow instances to display.

Remarks

This method restores hidden windows to their previous dock states. Only windows that meet all of the following criteria are affected:

  • The window is registered with this RadDock instance
  • The window is currently hidden (DockState.Hidden)
  • The window has a valid previous dock state to restore to

Each window will be displayed in the same location it was in before being hidden, whether that was docked, floating, auto-hidden, or as a tabbed document.

Dispose(Boolean)

Releases the unmanaged resources used by the RadDock and optionally releases the managed resources.

Declaration
protected override void Dispose(bool disposing)
Parameters
System.Boolean disposing

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Overrides
RadControl.Dispose(Boolean)
Remarks

This method cleans up all resources associated with the docking framework, including command managers, document managers, MDI controllers, and floating windows.

DockControl(Control, DockPosition)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockPosition position)
Parameters
System.Windows.Forms.Control control

DockPosition position

Returns
HostWindow

DockControl(Control, DockPosition, DockType)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockPosition position, DockType dockType)
Parameters
System.Windows.Forms.Control control

DockPosition position

DockType dockType

Returns
HostWindow

DockControl(Control, DockTabStrip, DockPosition)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockTabStrip dockAnchor, DockPosition position)
Parameters
System.Windows.Forms.Control control

DockTabStrip dockAnchor

DockPosition position

Returns
HostWindow

DockControl(Control, DockTabStrip, DockPosition, DockType)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockTabStrip dockAnchor, DockPosition position, DockType dockType)
Parameters
System.Windows.Forms.Control control

DockTabStrip dockAnchor

DockPosition position

DockType dockType

Returns
HostWindow

DockControl(Control, DockWindow, DockPosition)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockWindow target, DockPosition position)
Parameters
System.Windows.Forms.Control control

DockWindow target

DockPosition position

Returns
HostWindow

DockControl(Control, DockWindow, DockPosition, DockType)

Registers the specified control as part of the docking framework.

Declaration
public HostWindow DockControl(Control control, DockWindow target, DockPosition position, DockType dockType)
Parameters
System.Windows.Forms.Control control

DockWindow target

DockPosition position

DockType dockType

Returns
HostWindow

DockWindow(DockWindow, DockPosition)

Registers the specified DockWindow instance and docks it at the desired position.

Declaration
public void DockWindow(DockWindow dockWindow, DockPosition position)
Parameters
DockWindow dockWindow

The window to dock.

DockPosition position

The position where the window should be docked (Top, Bottom, Left, Right, Fill).

Remarks

This method registers the window with the docking manager and positions it according to the specified dock position. The window will be docked relative to the main container.

DockWindow(DockWindow, DockWindow, DockPosition)

Registers the specified DockWindow instance and docks it at the desired position, using the provided target window as an anchor.

Declaration
public void DockWindow(DockWindow dockWindow, DockWindow target, DockPosition position)
Parameters
DockWindow dockWindow

The window to dock.

DockWindow target

The target window to use as an anchor for the docking operation. If null, the main container is used.

DockPosition position

The position relative to the target where the window should be docked (Top, Bottom, Left, Right, Fill).

Remarks

This method registers the window with the docking manager and positions it according to the specified dock position, relative to the target window. If the target is null, the main container is used as the reference point.

DockWindow(DockWindow, SplitPanel, DockPosition)

Registers the specified DockWindow instance and docks it at the desired position, using the provided SplitPanel as an anchor.

Declaration
public void DockWindow(DockWindow window, SplitPanel dockAnchor, DockPosition position)
Parameters
DockWindow window

SplitPanel dockAnchor

Any split panel instance that resides

DockPosition position

EndInit()

Signals the object that initialization is complete.

Declaration
public override void EndInit()
Overrides
RadControl.EndInit()
Remarks

This method is called at the end of initialization and ensures that all components of the RadDock framework are properly initialized and registered, including floating windows, auto-hide windows, and docked windows.

EndTransactionBlock()

Ends the current transaction block and commits all pending transactions.

Declaration
public void EndTransactionBlock()
Remarks

This method decrements the transaction block counter. When the counter reaches zero, all pending transactions are executed, and normal layout operations are resumed. Each call to EndTransactionBlock should correspond to a previous call to BeginTransactionBlock.

EndUpdate()

Ends a BeginUpdate block.

Declaration
public void EndUpdate()

EndUpdate(Boolean)

Ends a BeginUpdate block and optionally performs layout update.

Declaration
public void EndUpdate(bool update)
Parameters
System.Boolean update

Specifies whether to perform layout operations after ending the update block. When true, layout operations are performed. When false, layout remains suspended.

Remarks

Use this method to end an update operation that was started with BeginUpdate. The update parameter allows control over whether layout is immediately performed or remains suspended.

EnqueueTransaction(RadDockTransaction)

Adds a transaction operation to the current transaction block.

Declaration
public void EnqueueTransaction(RadDockTransaction transaction)
Parameters
RadDockTransaction transaction

The transaction to add to the current block. Must not be null.

Remarks

This method adds a dock operation to the current transaction. Transactions are executed as a batch when the transaction block is closed. A transaction block must be opened with BeginTransactionBlock before this method can be called.

Exceptions
System.ArgumentNullException

Thrown when the transaction parameter is null.

System.ArgumentException

Thrown when there is no active transaction block.

EnsureInitialized()

Ensures that the RadDock control is properly initialized.

Declaration
public void EnsureInitialized()
Remarks

This method is used internally by the docking framework to make sure all components are properly connected and registered. It initializes the document container, registers docked windows, auto-hide windows, tabbed documents, and floating windows.

EnumFrameworkControls<T>()

Enumerates all currently alive T instances available within the framework.

Declaration
public IEnumerable<T> EnumFrameworkControls<T>()
    where T : Control
Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

FloatToolTabStrip(ToolTabStrip, Rectangle)

Makes the specified tool tab strip floating (detached in its own window).

Declaration
public void FloatToolTabStrip(ToolTabStrip strip, Rectangle bounds)
Parameters
ToolTabStrip strip

The ToolTabStrip to make floating.

System.Drawing.Rectangle bounds

The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the strip's preferred size.

Remarks

This method detaches the entire tool tab strip, including all contained windows, from its current position in the docking layout and displays it in a separate floating window with the specified bounds. The tab structure is preserved in the floating window - all windows that were in the tab strip remain grouped together.

FloatWindow(DockWindow)

Makes the specified window floating (detached in its own window).

Declaration
public void FloatWindow(DockWindow window)
Parameters
DockWindow window

The DockWindow instance to make floating.

Remarks

This method detaches the window from its current position in the docking layout and displays it in a separate floating window. It uses default bounds for the new floating window. To specify the bounds of the floating window, use the overload that accepts a Rectangle parameter.

FloatWindow(DockWindow, Rectangle)

Makes the specified window floating (detached in its own window), using the provided bounds.

Declaration
public void FloatWindow(DockWindow window, Rectangle bounds)
Parameters
DockWindow window

The DockWindow instance to make floating.

System.Drawing.Rectangle bounds

The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the window's preferred size.

Remarks

This method detaches the window from its current position in the docking layout and displays it in a separate floating window with the specified bounds. The DockType of the container in the floating window is automatically determined based on whether the window is a DocumentWindow or not.

FloatWindows(IEnumerable<DockWindow>, Rectangle)

Makes the specified collection of windows floating (detached in a single window), using the provided bounds.

Declaration
public void FloatWindows(IEnumerable<DockWindow> windows, Rectangle bounds)
Parameters
System.Collections.Generic.IEnumerable<DockWindow> windows

The collection of DockWindow instances to make floating together.

System.Drawing.Rectangle bounds

The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the windows' preferred sizes.

Remarks

This method detaches all the specified windows from their current positions in the docking layout and displays them together in a single floating window with the specified bounds. All windows will be arranged in a tab strip within the floating window. This overload uses DockType.ToolWindow as the container type. For document windows, use the overload that accepts a DockType parameter.

FloatWindows(IEnumerable<DockWindow>, Rectangle, DockType)

Makes the specified windows floating (detached in a single window), using the provided bounds and container type.

Declaration
public void FloatWindows(IEnumerable<DockWindow> windows, Rectangle bounds, DockType containerType)
Parameters
System.Collections.Generic.IEnumerable<DockWindow> windows

The collection of DockWindow instances to make floating together.

System.Drawing.Rectangle bounds

The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the windows' preferred sizes.

DockType containerType

The type of the container inside the floating form - DockType.ToolWindow or DockType.Document.

Remarks

This method detaches all the specified windows from their current positions in the docking layout and displays them together in a single floating window with the specified bounds. All windows will be arranged in a tab strip of the specified type within the floating window. The container type determines the appearance and behavior of the tab strip in the floating window.

FlushTransactions()

Commits all pending transactions without exitting the transaction block.

Declaration
public void FlushTransactions()

GetAutoHideTab(DockWindow)

Gets the tab strip item associated with an auto-hidden dock window.

Declaration
public TabStripItem GetAutoHideTab(DockWindow dockWindow)
Parameters
DockWindow dockWindow

The dock window for which to find the auto-hide tab.

Returns
TabStripItem

The TabStripItem representing the auto-hide tab for the specified window, or null if the window is not in auto-hide mode or doesn't have an associated tab.

Remarks

Auto-hide tabs are displayed along the edges of the docking container and allow users to temporarily show windows that are in auto-hide mode.

GetAutoHideTabStrip(AutoHidePosition)

Gets the auto hide tab strip.

Declaration
public RadPageViewStripElement GetAutoHideTabStrip(AutoHidePosition position)
Parameters
AutoHidePosition position

The edge position of the auto-hide strip to retrieve.

Returns
RadPageViewStripElement

A RadPageViewStripElement representing the tab strip at the specified position.

Remarks

The tab strip contains the tabs that represent auto-hidden windows. When the user hovers over one of these tabs, the corresponding window is temporarily displayed.

GetDefaultDocumentTabStrip(Boolean)

Gets the default DocumentTabStrip instance, used to add documents without explicitly specified dock target.

Declaration
public DocumentTabStrip GetDefaultDocumentTabStrip(bool createNew)
Parameters
System.Boolean createNew

True to create a new DocumentTabStrip instance and add it to the document container.

Returns
DocumentTabStrip

GetDefaultXmlSerializationInfo()

Gets the default serialization information for RadDock used by Save/Load layout methods to persist docking settings to/from XML.

Declaration
public virtual ComponentXmlSerializationInfo GetDefaultXmlSerializationInfo()
Returns
ComponentXmlSerializationInfo

A ComponentXmlSerializationInfo object containing the default serialization settings for RadDock.

Remarks

You can use the serialization information to customize which properties of RadDock and related objects are included in or excluded from XML serialization. This allows you to control exactly what aspects of the docking layout are persisted.

To customize serialization, you can:

  1. Override this method in a derived class to return modified serialization information
  2. Modify the XmlSerializationInfo property directly

Common customizations include:

  • Excluding specific properties that shouldn't be persisted
  • Adding custom properties that should be persisted
  • Changing serialization behavior for certain object types

GetHostWindow(Control)

Get the host window for Control instance docked with DockControl method or for MDI children Form object

Declaration
public HostWindow GetHostWindow(Control control)
Parameters
System.Windows.Forms.Control control

Returns
HostWindow

found HostWindow instance or null

GetNextDocumentStrip(DockWindow)

Gets the next document tab strip, regarding the specified DockWindow. The window should be in TabbedDocument state for the method to work.

Declaration
public DocumentTabStrip GetNextDocumentStrip(DockWindow window)
Parameters
DockWindow window

Returns
DocumentTabStrip

GetPreviousDocumentStrip(DockWindow)

Gets the previous document tab strip, regarding the specified DockWindow. The window should be in TabbedDocument state for the method to work.

Declaration
public DocumentTabStrip GetPreviousDocumentStrip(DockWindow window)
Parameters
DockWindow window

Returns
DocumentTabStrip

GetService<T>()

Retrieves the currently registered service by the specified type.

Declaration
public T GetService<T>()
    where T : RadDockService
Returns
T

The registered service of type T, or null if no such service is registered.

Type Parameters
T

The type of service to retrieve. Must be a subclass of RadDockService.

Remarks

This method searches all registered services for one that is of the specified type T. It returns the first matching service found, or null if no service of type T is registered. This method is useful when you know what kind of service you need but don't know its key.

GetService<T>(Int32)

Retrieves the currently registered service by the provided key.

Declaration
protected T GetService<T>(int key)
    where T : RadDockService
Parameters
System.Int32 key

The key that identifies the service, typically a value from ServiceConstants.

Returns
T

The registered service of type T associated with the specified key, or null if no such service is registered.

Type Parameters
T

The type of service to retrieve. Must be a subclass of RadDockService.

Remarks

This method retrieves a service using its key. All predefined service keys can be found in the ServiceConstants class. It returns the service cast to type T, or null if either no service is registered with the key or the registered service is not of type T.

GetSplitterElementAtPoint(Point)

Declaration
public override SplitterElement GetSplitterElementAtPoint(Point clientPoint)
Parameters
System.Drawing.Point clientPoint

Returns
SplitterElement

Overrides
RadSplitContainer.GetSplitterElementAtPoint(Point)

GetWindow<T>(String)

Gets DockWindow instance with the corresponding Name by the specified type.

Declaration
public T GetWindow<T>(string dockWindowName)
    where T : DockWindow
Parameters
System.String dockWindowName

Returns
T

DockWindow instance with matching Name. Null (Nothing in VB.NET) otherwise.

Type Parameters
T

GetWindows(Type[])

Gets the windows by the specified types.

Declaration
public IEnumerable<DockWindow> GetWindows(params Type[] types)
Parameters
System.Type[] types

The types of the windows to get.

Returns
System.Collections.Generic.IEnumerable<DockWindow>

A collection of DockWindow instances matching the specified types. If no types are specified, returns all windows.

Remarks

This method filters windows based on their type. It can be used to retrieve specific window types, such as tool windows or document windows, by providing the corresponding type parameters.

GetWindows<T>()

Gets the windows by the specified type.

Declaration
public IEnumerable<T> GetWindows<T>()
    where T : DockWindow
Returns
System.Collections.Generic.IEnumerable<T>

Type Parameters
T

IsNameAvailable(String)

Declaration
protected virtual bool IsNameAvailable(string name)
Parameters
System.String name

Returns
System.Boolean

LoadFromXml(Stream, Boolean)

Loads the docking layout configuration from an XML stream.

Declaration
public void LoadFromXml(Stream stream, bool clearDocking = false)
Parameters
System.IO.Stream stream

The stream containing the XML layout data. The stream must be readable and its position will be reset to the beginning.

System.Boolean clearDocking

When set to true, removes all existing dock windows using the CloseAndDispose action before loading the new layout.

Remarks

This method automatically detects whether the XML in the stream was created with the legacy DockingManager or with the current RadDock, and adapts its loading strategy accordingly. This enables backward compatibility with layouts saved by older versions.

The XML stream should contain information about window positions, sizes, dock states, and relationships between windows. Windows that need to be restored must already be registered with this RadDock instance or they will be ignored during loading.

This overload is useful when the layout is stored in memory or in a database rather than in a file. To save the current layout to a stream, use the SaveToXml(Stream) method.

LoadFromXml(TextReader, Boolean)

Loads the docking layout configuration from a TextReader. Note that this is a new method and does not support loading xml that was written using DockingManager.

Declaration
public void LoadFromXml(TextReader textReader, bool clearDocking = false)
Parameters
System.IO.TextReader textReader

The text reader.

System.Boolean clearDocking

if set to true removes the existing dock windows using the CloseAndDispose action.

LoadFromXml(String, Boolean)

Loads the docking layout configuration from an XML file.

Declaration
public void LoadFromXml(string fileName, bool clearDocking = false)
Parameters
System.String fileName

The path to the XML file containing the saved layout.

System.Boolean clearDocking

When set to true, removes all existing dock windows using the CloseAndDispose action before loading the new layout.

Remarks

This method automatically detects whether the XML file was created with the legacy DockingManager or with the current RadDock, and adapts its loading strategy accordingly. This enables backward compatibility with layouts saved by older versions.

The XML file contains information about window positions, sizes, dock states, and relationships between windows. Windows that need to be restored must already be registered with this RadDock instance or they will be ignored during loading.

To save the current layout to an XML file, use the SaveToXml method and any of its overloads.

LoadFromXmlCore(XmlReader, Boolean, Boolean)

Overrwrite this method to change the loading of docking layout configuration.

Declaration
protected virtual void LoadFromXmlCore(XmlReader reader, bool oldXmlFormat, bool clearDocking = false)
Parameters
System.Xml.XmlReader reader

The XmlReader instance that will be used to load the layoiut configuration.

System.Boolean oldXmlFormat

if set to true the layout configuration is in the old DockingManager format.

System.Boolean clearDocking

if set to true removes the existing dock windows using the CloseAndDispose action.

MoveToNextDocumentTabStrip(DockWindow)

Move DockWindow to next document tab strip if exist when DockWindow is in document mode

Declaration
public bool MoveToNextDocumentTabStrip(DockWindow dockWindow)
Parameters
DockWindow dockWindow

Returns
System.Boolean

MoveToPreviousDocumentTabStrip(DockWindow)

Move DockWindow to previuos document tab strip if exist when DockWindow is in document mode

Declaration
public bool MoveToPreviousDocumentTabStrip(DockWindow dockWindow)
Parameters
DockWindow dockWindow

Returns
System.Boolean

OnActiveWindowChanged(DockWindowEventArgs)

Raises the ActiveWindowChanged event.

Declaration
protected virtual void OnActiveWindowChanged(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnActiveWindowChanging(DockWindowCancelEventArgs)

Raises the ActiveWindowChanging event.

Declaration
protected virtual void OnActiveWindowChanging(DockWindowCancelEventArgs e)
Parameters
DockWindowCancelEventArgs e

OnAutoHideButtonClicked(ToolTabStrip)

An Auto-hide button click notification, received from a registered ToolTabStrip.

Declaration
protected virtual void OnAutoHideButtonClicked(ToolTabStrip strip)
Parameters
ToolTabStrip strip

OnAutoHideWindowDisplayed(DockWindowEventArgs)

Raises the AutoHideWindowDisplayed event.

Declaration
protected virtual void OnAutoHideWindowDisplayed(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnAutoHideWindowDisplaying(AutoHideWindowDisplayingEventArgs)

Raises the AutoHideWindowDisplaying event.

Declaration
protected virtual void OnAutoHideWindowDisplaying(AutoHideWindowDisplayingEventArgs e)
Parameters
AutoHideWindowDisplayingEventArgs e

OnAutoHideWindowHidden(DockWindowEventArgs)

Raises the AutoHideWindowHidden event.

Declaration
protected virtual void OnAutoHideWindowHidden(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnAutoHideWindowHiding(DockWindowCancelEventArgs)

Raises the AutoHideWindowHiding event.

Declaration
protected virtual void OnAutoHideWindowHiding(DockWindowCancelEventArgs e)
Parameters
DockWindowCancelEventArgs e

OnBackgroundImageChanged(EventArgs)

Called when the BackgroundImage property changes.

Declaration
protected override void OnBackgroundImageChanged(EventArgs e)
Parameters
System.EventArgs e

An EventArgs that contains the event data.

Remarks

This override updates the visibility settings of various elements based on whether a background image is present.

OnControlTreeChanged(ControlTreeChangedEventArgs)

Declaration
protected override void OnControlTreeChanged(ControlTreeChangedEventArgs args)
Parameters
ControlTreeChangedEventArgs args

Overrides
SplitPanel.OnControlTreeChanged(ControlTreeChangedEventArgs)

OnDockStateChanged(DockWindowEventArgs)

Raises the DockStateChanged event.

Declaration
protected virtual void OnDockStateChanged(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnDockStateChanging(DockStateChangingEventArgs)

Raises the DockStateChanging event.

Declaration
protected virtual void OnDockStateChanging(DockStateChangingEventArgs e)
Parameters
DockStateChangingEventArgs e

OnDockStateContextMenuClicked(DockWindow, DockState)

Recieves a notification for a change state request, made from the window's associated context menu.

Declaration
protected virtual void OnDockStateContextMenuClicked(DockWindow window, DockState newState)
Parameters
DockWindow window

DockState newState

OnDockWindowAdded(DockWindowEventArgs)

Raises the DockWindowAdded event.

Declaration
protected virtual void OnDockWindowAdded(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnDockWindowClosed(DockWindowEventArgs)

Raises the DockWindowClosed event.

Declaration
protected virtual void OnDockWindowClosed(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnDockWindowClosing(DockWindowCancelEventArgs)

Raises the DockWindowClosing event.

Declaration
protected virtual void OnDockWindowClosing(DockWindowCancelEventArgs e)
Parameters
DockWindowCancelEventArgs e

OnDockWindowNameChanged(DockWindow, String)

The manager gets notified for a change in the specified DockWindow instance Name property.

Declaration
protected virtual void OnDockWindowNameChanged(DockWindow dockWindow, string oldName)
Parameters
DockWindow dockWindow

The DockWindow which name has changed.

System.String oldName

The window's previous name.

OnDockWindowRemoved(DockWindowEventArgs)

Raises the DockWindowRemoved event.

Declaration
protected virtual void OnDockWindowRemoved(DockWindowEventArgs e)
Parameters
DockWindowEventArgs e

OnDockWindowSerializing(DockWindow)

Raises the DockWindowSerializing event.

Declaration
protected virtual bool OnDockWindowSerializing(DockWindow dockWindow)
Parameters
DockWindow dockWindow

Returns
System.Boolean

[true] if canceled, [false] otherwise.

OnEnabledChanged(EventArgs)

Called when the control's Enabled property changes. Synchronizes the command manager's enabled state.

Declaration
protected override void OnEnabledChanged(EventArgs e)
Parameters
System.EventArgs e

An EventArgs that contains the event data.

Overrides
RadControl.OnEnabledChanged(EventArgs)
Remarks

This override ensures that the command manager's enabled state is synchronized with the control's Enabled property, preventing command processing when the control is disabled.

OnFloatingWindowCreated(FloatingWindowEventArgs)

Raises the FloatingWindowCreated event.

Declaration
protected virtual void OnFloatingWindowCreated(FloatingWindowEventArgs e)
Parameters
FloatingWindowEventArgs e

OnHandleCreated(EventArgs)

Declaration
protected override void OnHandleCreated(EventArgs e)
Parameters
System.EventArgs e

OnHandleDestroyed(EventArgs)

Called when the control's handle is destroyed. Disables the command manager to prevent stray commands.

Declaration
protected override void OnHandleDestroyed(EventArgs e)
Parameters
System.EventArgs e

An EventArgs that contains the event data.

Overrides
RadControl.OnHandleDestroyed(EventArgs)
Remarks

This override ensures that the command manager is disabled when the control's handle is destroyed, preventing any command processing after the handle is gone but the control is still alive.

OnLoad(Size)

Called when control's creation is complete.

Declaration
protected override void OnLoad(Size desiredSize)
Parameters
System.Drawing.Size desiredSize

Overrides
RadSplitContainer.OnLoad(Size)

OnLoadedFromXml()

Raises the LoadedFromXml event.

Declaration
protected virtual void OnLoadedFromXml()

OnMouseDown(MouseEventArgs)

Declaration
protected override void OnMouseDown(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Overrides
RadSplitContainer.OnMouseDown(MouseEventArgs)

OnMouseMove(MouseEventArgs)

Declaration
protected override void OnMouseMove(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Overrides
RadSplitContainer.OnMouseMove(MouseEventArgs)

OnPaddingChanged(EventArgs)

Declaration
protected override void OnPaddingChanged(EventArgs e)
Parameters
System.EventArgs e

Overrides
RadControl.OnPaddingChanged(EventArgs)

OnParentChanged(EventArgs)

Raises the System.Windows.Forms.Control.ParentChanged event.

Declaration
protected override void OnParentChanged(EventArgs e)
Parameters
System.EventArgs e

An System.EventArgs that contains the event data.

Overrides
RadSplitContainer.OnParentChanged(EventArgs)
Remarks

This method updates the internal parent form reference and reconnects event handlers when the parent of the RadDock control changes. It's essential for proper operation of floating windows and auto-hide functionality.

OnParentVisibleChanged(EventArgs)

Declaration
protected override void OnParentVisibleChanged(EventArgs e)
Parameters
System.EventArgs e

OnQuickNavigatorSnapshotNeeded(DockWindowSnapshotEventArgs)

Raises the QuickNavigatorSnapshotNeeded event.

Declaration
protected virtual void OnQuickNavigatorSnapshotNeeded(DockWindowSnapshotEventArgs e)
Parameters
DockWindowSnapshotEventArgs e

OnSavedToXml()

Raises the SavedToXml event.

Declaration
protected virtual void OnSavedToXml()

OnSelectedTabChanged(SelectedTabChangedEventArgs)

Declaration
protected virtual void OnSelectedTabChanged(SelectedTabChangedEventArgs e)
Parameters
SelectedTabChangedEventArgs e

OnSelectedTabChanging(SelectedTabChangingEventArgs)

Declaration
protected virtual void OnSelectedTabChanging(SelectedTabChangingEventArgs e)
Parameters
SelectedTabChangingEventArgs e

OnTabStripItemDoubleClick(TabStripItem, DockTabStrip)

Declaration
protected virtual void OnTabStripItemDoubleClick(TabStripItem item, DockTabStrip strip)
Parameters
TabStripItem item

DockTabStrip strip

OnThemeChanged()

Delegates the ThemeChanged event to all owned controls and elements.

Declaration
protected override void OnThemeChanged()
Overrides
RadSplitContainer.OnThemeChanged()

OnToolTabStripDoubleClick(ToolTabStrip, Point)

Receives a notification from a tooltabstrip that the mouse was clicked inside its area. The default implementation will try to restore the state of the associated windows.

Declaration
protected virtual void OnToolTabStripDoubleClick(ToolTabStrip strip, Point click)
Parameters
ToolTabStrip strip

System.Drawing.Point click

OnTransactionBlockEnded(EventArgs)

Raises the TransactionBlockEnded event.

Declaration
protected virtual void OnTransactionBlockEnded(EventArgs e)
Parameters
System.EventArgs e

OnTransactionBlockStarted(EventArgs)

Raises the TransactionBlockStarted event.

Declaration
protected virtual void OnTransactionBlockStarted(EventArgs e)
Parameters
System.EventArgs e

OnTransactionCommitted(RadDockTransactionEventArgs)

Raises the TransactionCommitted event.

Declaration
protected virtual void OnTransactionCommitted(RadDockTransactionEventArgs e)
Parameters
RadDockTransactionEventArgs e

OnTransactionCommitting(RadDockTransactionCancelEventArgs)

Raises the TransactionCommitting event.

Declaration
protected virtual void OnTransactionCommitting(RadDockTransactionCancelEventArgs e)
Parameters
RadDockTransactionCancelEventArgs e

OnVisibleChanged(EventArgs)

Declaration
protected override void OnVisibleChanged(EventArgs e)
Parameters
System.EventArgs e

Overrides
RadControl.OnVisibleChanged(EventArgs)

PerformUpdate()

Performs the core update logic after an EndUpdate call.

Declaration
protected virtual void PerformUpdate()

PostCommitTransaction(RadDockTransaction)

Allows inheritors to provide additional post-commit processing of a transaction.

Declaration
protected virtual void PostCommitTransaction(RadDockTransaction transaction)
Parameters
RadDockTransaction transaction

PreCommitTransaction(RadDockTransaction)

Allows inheritors to provide additional pre-commit processing of a transaction.

Declaration
protected virtual void PreCommitTransaction(RadDockTransaction transaction)
Parameters
RadDockTransaction transaction

ProcessFocusRequested(RadElement)

Declaration
protected override bool ProcessFocusRequested(RadElement element)
Parameters
RadElement element

Returns
System.Boolean

Overrides
RadControl.ProcessFocusRequested(RadElement)

RegisterService(Int32, RadDockService)

Registers the specified service with this RadDock instance.

Declaration
public void RegisterService(int key, RadDockService service)
Parameters
System.Int32 key

The key that identifies the service, typically a value from ServiceConstants.

RadDockService service

The RadDockService instance to register.

Remarks

This method registers a service that provides additional functionality to the RadDock control. If a service with the same key already exists, it will be detached and replaced with the new service. Services are used to extend RadDock functionality without modifying its core code. Common services include RedockService for state persistence and CommandService for command routing.

RemoveAllDocumentWindows()

Removes all DocumentWindows, without disposing it.

Declaration
public void RemoveAllDocumentWindows()

RemoveAllDocumentWindows(DockWindowCloseAction)

Removes all DocumentWindows, using the specified close action.

Declaration
public void RemoveAllDocumentWindows(DockWindowCloseAction closeAction)
Parameters
DockWindowCloseAction closeAction

The action to be taken when closing a window.

RemoveAllToolWindows(DockWindowCloseAction, AllowedDockState)

Removes all ToolWindows with the specified DockState, using the specified close action.

Declaration
public void RemoveAllToolWindows(DockWindowCloseAction closeAction = DockWindowCloseAction.Close, AllowedDockState allowedDockState = AllowedDockState.Docked | AllowedDockState.AutoHide)
Parameters
DockWindowCloseAction closeAction

The action to be taken when closing a window.

AllowedDockState allowedDockState

Specifies the DockState of the ToolWindows that will be removed. The enumeration flags can be combined.

RemoveAllWindows()

Removes all DockWindows from the docking manager, without disposing them.

Declaration
public void RemoveAllWindows()
Remarks

This method removes all windows from the docking manager using the DockWindowCloseAction.Close action. The windows are removed from the docking layout but are not disposed, so they can be reused later. To control the close action, use the overload that accepts a DockWindowCloseAction parameter.

RemoveAllWindows(DockWindowCloseAction)

Removes all DockWindows from the docking manager, using the specified close action.

Declaration
public void RemoveAllWindows(DockWindowCloseAction closeAction)
Parameters
DockWindowCloseAction closeAction

The action to be taken when closing each window. This can be Close (remove without disposing), CloseAndDispose (remove and dispose), or Hide (hide without removing).

Remarks

This method removes all windows from the docking manager using the specified close action. It begins a transaction block before removing windows and ends it after all windows are removed.

RemoveWindow(DockWindow)

Removes the specified window, without disposing it, from the dock manager.

Declaration
public void RemoveWindow(DockWindow window)
Parameters
DockWindow window

RemoveWindow(DockWindow, DockWindowCloseAction)

Removes the specified window, using the specified DockWindowCloseAction.

Declaration
public void RemoveWindow(DockWindow window, DockWindowCloseAction closeAction)
Parameters
DockWindow window

DockWindowCloseAction closeAction

The desired action to be taken.

RestoreWindowsStatesAfterLoad()

This method is used internally.

Declaration
public void RestoreWindowsStatesAfterLoad()

RestoreWindowsStatesAfterLoad(Boolean)

This method is used internally.

Declaration
public void RestoreWindowsStatesAfterLoad(bool beginInitWindows)
Parameters
System.Boolean beginInitWindows

SaveToXml(Stream)

Saves the current docking layout configuration in XML format to the specified stream.

Declaration
public void SaveToXml(Stream stream)
Parameters
System.IO.Stream stream

The stream where the layout should be written. The stream must be writable.

Remarks

This method serializes the current state of all dock windows to the provided stream. This overload is useful when you need to save the layout to memory, a database, or another destination other than a file.

The serialized data includes:

  • Window positions and sizes
  • Dock states (docked, floating, auto-hidden, etc.)
  • Tab groups and arrangements
  • Window relationships and hierarchy

To restore a layout from a stream, use the LoadFromXml(Stream, Boolean) method.

SaveToXml(TextWriter)

Saves the current docking layout configuration in XML format using the specified TextWriter.

Declaration
public void SaveToXml(TextWriter textWriter)
Parameters
System.IO.TextWriter textWriter

The TextWriter instance to which the XML should be written.

Remarks

This method serializes the current state of all dock windows using the provided TextWriter. This overload is useful when you need fine-grained control over the text output process, such as when writing to a custom text destination or applying additional text processing.

The serialized data includes the same information as the other SaveToXml methods:

  • Window positions and sizes
  • Dock states (docked, floating, auto-hidden, etc.)
  • Tab groups and arrangements
  • Window relationships and hierarchy

The XML is formatted with proper indentation for readability.

SaveToXml(String)

Saves the current docking layout configuration in XML format to the specified file.

Declaration
public void SaveToXml(string fileName)
Parameters
System.String fileName

The path to the file where the layout should be saved. If the file exists, it will be overwritten.

Remarks

This method serializes the current state of all dock windows, including their positions, sizes, dock states, and relationships. The resulting XML file can later be used to restore the layout using the LoadFromXml(String, Boolean) method.

The serialized data includes:

  • Window positions and sizes
  • Dock states (docked, floating, auto-hidden, etc.)
  • Tab groups and arrangements
  • Window relationships and hierarchy

Note that only the structural information is saved, not the actual content of the windows. When restoring a layout, the windows must already be registered with the RadDock instance.

SaveToXmlCore(XmlWriter)

Performs the core XML serialization logic for saving the docking layout.

Declaration
protected virtual void SaveToXmlCore(XmlWriter writer)
Parameters
System.Xml.XmlWriter writer

The XmlWriter to which the XML should be written.

Remarks

This method contains the actual implementation of the XML serialization process. It sorts floating windows by Z-order, creates a serializer with the appropriate settings, and writes the RadDock object structure to XML.

This method can be overridden in derived classes to customize the serialization process while still using the basic SaveToXml methods.

SetBoundsCore(Int32, Int32, Int32, Int32, BoundsSpecified)

Declaration
protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified)
Parameters
System.Int32 x

System.Int32 y

System.Int32 width

System.Int32 height

System.Windows.Forms.BoundsSpecified specified

Overrides
SplitPanel.SetBoundsCore(Int32, Int32, Int32, Int32, BoundsSpecified)

SetWindowState(DockWindow, DockState)

Applies the desired DockState to the specified DockWindow, either by restoring a previously saved state or performing the default action.

Declaration
public void SetWindowState(DockWindow window, DockState state)
Parameters
DockWindow window

The DockWindow instance to change state for.

DockState state

The target dock state to apply (Docked, TabbedDocument, AutoHide, Floating, Hidden).

Remarks

This method changes the dock state of the window to the specified state. If the window is already in the requested state, this method has no effect.

If a previously saved layout state exists for this window in the requested dock state (through the RedockService), that state will be restored, preserving the window's previous position and size in that state. Otherwise, the default action will be performed:

  • DockState.Docked: Window will be docked to the left side
  • DockState.TabbedDocument: Window will be added as a document
  • DockState.AutoHide: Window will be auto-hidden on the left side
  • DockState.Floating: Window will be floated
  • DockState.Hidden: Window will be hidden

ShouldProcessNotification()

This method is used internally.

Declaration
public bool ShouldProcessNotification()
Returns
System.Boolean

ShowAutoHidePopup(HostWindow)

Displays the auto-hide popup for the specified host window.

Declaration
public void ShowAutoHidePopup(HostWindow window)
Parameters
HostWindow window

The host window to display in the auto-hide popup.

Remarks

This method displays the auto-hide popup for a host window as if its tab was clicked, causing the window to slide out from its auto-hide position.

ShowAutoHidePopup(ToolWindow)

Displays the auto-hide popup for the specified tool window.

Declaration
public void ShowAutoHidePopup(ToolWindow window)
Parameters
ToolWindow window

The tool window to display in the auto-hide popup.

Remarks

This method displays the auto-hide popup for a tool window as if its tab was clicked, causing the window to slide out from its auto-hide position.

UpdateBackgroundSettings()

Updates the visibility settings of split panel elements based on whether a background image is set.

Declaration
protected void UpdateBackgroundSettings()
Remarks

When a background image is set, certain panel elements are hidden to allow the background image to show through. When no background image is set, the elements' visibility is reset to their default values.

UpdateCollapsed()

Declaration
public override void UpdateCollapsed()
Overrides
RadSplitContainer.UpdateCollapsed()

Events

ActiveWindowChanged

Notifies for an actual change of the ActiveWindow property.

Declaration
public event DockWindowEventHandler ActiveWindowChanged
Event Type
DockWindowEventHandler

ActiveWindowChanging

Notifies for an upcomming change of the ActiveWindow property. Cancelable.

Declaration
public event DockWindowCancelEventHandler ActiveWindowChanging
Event Type
DockWindowCancelEventHandler

AutoHideWindowDisplayed

Notifies that an auto-hidden window is about to be displayed. Cancelable.

Declaration
public event DockWindowEventHandler AutoHideWindowDisplayed
Event Type
DockWindowEventHandler

AutoHideWindowDisplaying

Notifies that an auto-hidden window is about to be displayed. Cancelable.

Declaration
public event AutoHideWindowDisplayingEventHandler AutoHideWindowDisplaying
Event Type
AutoHideWindowDisplayingEventHandler

AutoHideWindowHidden

Notifies that a window which DockState is AutoHide has been hidden.

Declaration
public event DockWindowEventHandler AutoHideWindowHidden
Event Type
DockWindowEventHandler

AutoHideWindowHiding

Notifies that a window with AutoHide DockState is hiding.

Declaration
public event DockWindowCancelEventHandler AutoHideWindowHiding
Event Type
DockWindowCancelEventHandler

DockStateChanged

Notifies for a change in the DockState of the associated window.

Declaration
public event DockWindowEventHandler DockStateChanged
Event Type
DockWindowEventHandler

DockStateChanging

Notifies for an upcomming change in the DockState of the associated window. Cancelable.

Declaration
public event DockStateChangingEventHandler DockStateChanging
Event Type
DockStateChangingEventHandler

DockTabStripNeeded

Raised whenever a new DockTabStrip instance is needed internally by the framework. Allows for providing custom ToolTabStrip and DocumentTabStrip implementations.

Declaration
public event DockTabStripNeededEventHandler DockTabStripNeeded
Event Type
DockTabStripNeededEventHandler

DockWindowAdded

Notifies for a new DockWindow registered with this RadDock instance.

Declaration
public event DockWindowEventHandler DockWindowAdded
Event Type
DockWindowEventHandler

DockWindowClosed

Raised after a DockWindow has been closed.

Declaration
public event DockWindowEventHandler DockWindowClosed
Event Type
DockWindowEventHandler

DockWindowClosing

Raised before a DockWindow.Close method is called.

Declaration
public event DockWindowCancelEventHandler DockWindowClosing
Event Type
DockWindowCancelEventHandler

DockWindowRemoved

Notifies for a DockWindow removed from this RadDock instance. This event will not be raised for hidden windows.

Declaration
public event DockWindowEventHandler DockWindowRemoved
Event Type
DockWindowEventHandler

DockWindowSerializing

Fired when a dock window is being serialized. Allows excluding some windows from serialization.

Declaration
public event EventHandler<DockWindowCancelEventArgs> DockWindowSerializing
Event Type
System.EventHandler<DockWindowCancelEventArgs>

FloatingWindowCreated

Notifies that a FloatingWindow instance is internally created by the framework. Allows listeners to examine and optionally change the window itself.

Declaration
public event FloatingWindowEventHandler FloatingWindowCreated
Event Type
FloatingWindowEventHandler

LoadedFromXml

Notifies that manager's state has been loaded from an external XML source.

Declaration
public event EventHandler LoadedFromXml
Event Type
System.EventHandler

PageViewInstanceCreated

Fires after RadPageViewElement is created.

Declaration
public event PageViewInstanceCreatedEventHandler PageViewInstanceCreated
Event Type
PageViewInstanceCreatedEventHandler

QuickNavigatorSnapshotNeeded

Raised when the QuickNavigator is displayed and a preview snapshot for the currently selected window is needed.

Declaration
public event DockWindowSnapshotEventHandler QuickNavigatorSnapshotNeeded
Event Type
DockWindowSnapshotEventHandler

SavedToXml

Notifies that manager's state has been saved to an external XML source.

Declaration
public event EventHandler SavedToXml
Event Type
System.EventHandler

SelectedTabChanged

Occurs when selected tab changed in currently manipulated DockTabStrip.

Declaration
public event SelectedTabChangedEventHandler SelectedTabChanged
Event Type
SelectedTabChangedEventHandler

SelectedTabChanging

Occurs when selected tab changing in currently manipulated DockTabStrip.

Declaration
public event SelectedTabChangingEventHandler SelectedTabChanging
Event Type
SelectedTabChangingEventHandler

SplitContainerNeeded

Raised whenever a new RadSplitContainer instance is needed internally by the framework. Allows for providing custom RadSplitContainer implementation.

Declaration
public event SplitContainerNeededEventHandler SplitContainerNeeded
Event Type
SplitContainerNeededEventHandler

TransactionBlockEnded

Notifies for a successful EndTransactionBlock operation, when all transactions are committed, the DockTree is cleaned, and updates are resumed.

Declaration
public event EventHandler TransactionBlockEnded
Event Type
System.EventHandler

TransactionBlockStarted

Notifies for a successful BeginTransactionBlock operation.

Declaration
public event EventHandler TransactionBlockStarted
Event Type
System.EventHandler

TransactionCommitted

Raised when a RadDockTransaction is successfully committed. Allows listeners to perform some additional operations.

Declaration
public event RadDockTransactionEventHandler TransactionCommitted
Event Type
RadDockTransactionEventHandler

TransactionCommitting

Raised when a RadDockTransaction is about to be committed. Allows listeners to investigate the transaction, perform some additional actions and/or cancel it.

Declaration
public event RadDockTransactionCancelEventHandler TransactionCommitting
Event Type
RadDockTransactionCancelEventHandler

Explicit Interface Implementations

IMessageListener.DesiredHook

Declaration
InstalledHook IMessageListener.DesiredHook { get; }
Returns
InstalledHook

Implements
IMessageListener.DesiredHook

IMessageListener.PreviewMessage(ref Message)

Declaration
MessagePreviewResult IMessageListener.PreviewMessage(ref Message msg)
Parameters
System.Windows.Forms.Message msg

Returns
MessagePreviewResult

Implements
IMessageListener.PreviewMessage(ref Message)

IMessageListener.PreviewSystemMessage(SystemMessage, Message)

Declaration
void IMessageListener.PreviewSystemMessage(SystemMessage message, Message msg)
Parameters
SystemMessage message

System.Windows.Forms.Message msg

Implements
IMessageListener.PreviewSystemMessage(SystemMessage, Message)

IMessageListener.PreviewWndProc(Message)

Declaration
void IMessageListener.PreviewWndProc(Message msg)
Parameters
System.Windows.Forms.Message msg

Implements
IMessageListener.PreviewWndProc(Message)

ILoadObsoleteDockingManagerXml.DockableDeserialized

Declaration
event EventHandler<DockableDeserializedEventArgs> ILoadObsoleteDockingManagerXml.DockableDeserialized
Returns
System.EventHandler<DockableDeserializedEventArgs>

Implements
ILoadObsoleteDockingManagerXml.DockableDeserialized

ILoadObsoleteDockingManagerXml.LoadDockingManagerXml(TextReader)

Declaration
void ILoadObsoleteDockingManagerXml.LoadDockingManagerXml(TextReader input)
Parameters
System.IO.TextReader input

Implements
ILoadObsoleteDockingManagerXml.LoadDockingManagerXml(TextReader)

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.