In This Article

DockContainer Class

Represents a dock container that can hold tool windows or other dock containers.

public abstract class DockContainer : UIControl, IUIControl, IUIElement, ILogicalTreeNode, IDpiAwareElement, IDisposable, IDockObject
Inheritance:
object MarshalByRefObject Component Control ScrollableControl UIControl object
Derived:
AutoHideContainer DockContainerContainer ToolWindowContainer
Implements:
IUIControl IUIElement ILogicalTreeNode IDpiAwareElement IDisposable IDockObject

Constructors

DockContainer()

Initializes a new instance of the DockContainer class.

public DockContainer()

Properties

DockManager

Gets or sets the DockManager that is managing the dock object.

[Browsable(false)]
public virtual DockManager DockManager { get; set; }

Property Value

DockManager:

The DockManager that is managing the dock object.

DockObjectType

Gets a DockObjectType specifying the type of dock object.

public abstract DockObjectType DockObjectType { get; }

Property Value

DockObjectType:

A DockObjectType specifying the type of dock object.

RootDock

Gets the DockStyle that describes the root's dock style.

[Browsable(false)]
public virtual DockStyle RootDock { get; }

Property Value

DockStyle:

The DockStyle that describes the root's dock style.

SelectedToolWindow

Gets or sets the selected ToolWindow.

public virtual ToolWindow SelectedToolWindow { get; set; }

Property Value

ToolWindow:

The selected ToolWindow.

Remarks

This method may only be called if the DockObjectType is ToolWindowContainer or AutoHideContainer.

ToolWindows

Gets the collection of child ToolWindow controls.

public abstract ToolWindowCollection ToolWindows { get; }

Property Value

ToolWindowCollection:

A ToolWindowCollection containing the collection of child ToolWindow controls.

Methods

ArrangeOverride(Size)

Positions child elements and determines an arrange size.

protected override Size ArrangeOverride(Size finalSize)
Parameter Type Description
finalSize Size

The final area within the parent that this element should use to arrange itself and its children.

Returns

Size:

The actual size used.

Remarks

Element authors should override this method, call Arrange on each visible child element and position each child element. It is required that a parent element calls Arrange on each child or they won't be rendered.

Close()

Closes all the tool windows in the DockContainer.

public abstract void Close()

Remarks

This method may only be called if the DockObjectType is ToolWindowContainer or AutoHideContainer.

ContainsToolWindow(string[])

Returns whether the container or one of its children contains a ToolWindow with any of the specified GUIDs.

protected abstract bool ContainsToolWindow(string[] guids)
Parameter Type Description
guids string[]

The array of GUIDs.

Returns

bool:

true if the container or one of its children contains a ToolWindow with any of the specified GUIDs; otherwise, false.

CreateChildren()

Invoked when the collection of child elements is to be created.

protected override IList CreateChildren()

Returns

IList:

The IList that should be assigned to the Children property.

Remarks

By default no child collection is created.

Dispose(bool)

Disposes any resources used by the object.

protected override void Dispose(bool disposing)
Parameter Type Description
disposing bool

Whether the object is being disposed.

GetToolWindowCount()

Returns the number of ToolWindow objects within the container or its child controls.

protected abstract int GetToolWindowCount()

Returns

int:

The number of ToolWindow objects within the container or its child controls.

HitTestForDock(Point)

Hits tests a Point to see if a dock should occur.

protected virtual DockStyle HitTestForDock(Point point)
Parameter Type Description
point Point

The Point to test.

Returns

DockStyle:

A DockStyle indicating the side of which to dock.

MeasureOverride(Graphics, Size)

Measures the size in layout required for child elements and determines a size for the element itself.

protected override Size MeasureOverride(Graphics g, Size availableSize)
Parameter Type Description
g Graphics

The Graphics object to use for measurement.

availableSize Size

The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available.

Returns

Size:

The size that this element determines it needs during layout, based on its calculations of child element sizes.

Remarks

Element authors should override this method, call Measure on each visible child element and determine the total size required.

OnDockChanged(EventArgs)

Raises the Dock event.

protected override void OnDockChanged(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnEnter(EventArgs)

Raises the Enter event.

protected override void OnEnter(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnLeave(EventArgs)

Raises the Leave event.

protected override void OnLeave(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnRender(PaintEventArgs)

Renders the element.

protected override void OnRender(PaintEventArgs e)
Parameter Type Description
e PaintEventArgs

A PaintEventArgs that contains the event data.

ProcessCmdKey(ref Message, Keys)

Processes a key.

protected override bool ProcessCmdKey(ref Message m, Keys keyData)
Parameter Type Description
m Message

The message to process.

keyData Keys

One of the Keys values that represents the key to process.

Returns

bool:

true if the key was processed by the control; otherwise, false.

Undock()

Undocks the DockContainer.

public abstract void Undock()

Remarks

This method may only be called if the DockObjectType is ToolWindowContainer or AutoHideContainer.

UpdateImageList()

Updates the ImageList used with the container.

protected virtual void UpdateImageList()

UpdateLayout()

Call this method to ensure that the whole subtree of elements that includes this UIElement is properly updated.

public override void UpdateLayout()

Remarks

This ensures that UIElement objects with invalid measure or arrange states will get a call to their Measure(Graphics, Size) and Arrange(Rectangle) methods, and all computed sizes will be validated. This method does nothing if layout is clean but it does work if layout is not clean so avoid calling it after each change in the element tree. It makes sense to either never call it (system will do this in a deferred manner) or only call it if you absolutely need updated sizes and positions after you do all changes.

UpdateTabStrip()

Updates the TabStrip used within the container.

protected virtual void UpdateTabStrip()

UpdateTitleBar()

Updates the title bar.

protected abstract void UpdateTitleBar()

Inherited Members