DockPanel - ahatornn/clforms GitHub Wiki

DockPanel

ClForms.Elements.DockPanel
Defines an area where you can arrange child elements either horizontally or vertically, relative to each other

public class DockPanel: MultipleContentControl, IElementStyle<DockPanel>

Inheritance Control -> ContentControl -> MultipleContentControl -> DockPanel
Derived IElementStyle<DockPanel>

Examples

The following code example creates a DockPanel and adds 3 labels with different Dock properties

var panel = new DockPanel();
panel.AddContent(new Label("Content1")
{
    Background = Color.Magenta,
    Foreground = Color.White,
    Margin = new Thickness(1, 1, 1, 0),
}, Dock.Top);
panel.AddContent(new Label("Content2")
{
    Background = Color.Magenta,
    Foreground = Color.White,
    Margin = new Thickness(1),
}, Dock.Left);
panel.AddContent(new Label("Content3")
{
    Background = Color.Magenta,
    Foreground = Color.White,
    Margin = new Thickness(1),
}, Dock.Right);

You can find more examples of using the DockPanel in this project

Remarks

A DockPanel contains a collection of Control objects, which are in the cast to list DockPanel control.
If you set the LastChildFill property to true, the last child element of a DockPanel always fills the remaining space, regardless of any other dock value that you set on the last child element. To dock a child element in another direction, you must set the LastChildFill property to false, which is the default setting and must also specify an explicit dock direction for the last child element.

Constructors

Syntax Description
DockPanel() Initialize a new DockPanel instance

Properties

Name Type Description
AutoSize bool Gets or sets a value indicating whether the control is resized in accordance with its contents
Background Color Gets or sets a brush that describes the background of a control
BackgroundIsTransparent bool Gets a value indicating whether the Background has Color.NotSet
Bounds Rect Gets the size and location of the control including its nonclient elements, in points, relative to the parent control
ContentCount int Gets the number of elements contained in the current control
DesiredSize Size Gets the size that this element computed during the measure pass of the layout process
DrawingContext IDrawingContext Gets a value of the drawing context
Foreground Color Gets or sets a brush that describes the text of a control
ForegroundIsTransparent bool Gets a value indicating whether the Foreground has Color.NotSet
Height int? Gets or sets the height of the control
Id long Gets a value of the control's identifier
IsMeasureValid bool Gets a value indicating whether component sizing was performed
IsVisualValid bool Gets a value indicating whether the component is being re-rendered
LastChildFill bool Gets or sets a value that indicates whether the last child element within a DockPanel stretches to fill the remaining available space
Location Point Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container
Margin Thickness Gets or sets the outer margin of an element
Padding Thickness Gets or sets a Thickness value that describes the amount of space between a control and its child element
Parent ContentControl Gets or sets the parent container of the control
Tag object Gets or sets the object that contains data about the control
Width int? Gets or sets the width of the control

Methods

Syntax Description
AddContent(Control content) Adds the specified control to the control collection
Arrange(Rect) Positions child elements and determines a size for a Control. Parent elements call this method from their Arrange(Rect) implementation to form a recursive layout update
GetDock(Control) Get of the Dock value for a specified control
InvalidateMeasure() Invalidates the measurement state (layout) for the element
InvalidateMeasureIfAutoSize() Invalidates the measurement state (layout) for the element if AutoSize property is true otherwise invalidates the rendering of the element
InvalidateVisual() Invalidates the rendering of the element, and forces a complete new layout pass. OnRender(IDrawingContext) is called after the layout cycle is completed
Measure(Size) Updates DesiredSize of a Control. Parent elements call this method from their own Measure(Size) implementations to form a recursive layout update
OnRender(IDrawingContext) Filling a pseudographics drawing context
ParentWindow() Gets the form the control is in
RemoveAllContent() Removes all items from the control collection
RemoveContent(Control) Remove the specified control to the control collection
SetDock(Control, Dock) Set of the Dock value for a specified control
SetStyle(Action) Defines actions with an element style

Events

Event Description
OnAutoSizeChanged Occurs when the value of the AutoSize property changes
OnBackgroundChanged Occurs when the value of the Background property changes
OnForegroundChanged Occurs when the value of the Foreground property changes
OnHeightChanged Occurs when the value of the Height property changes
OnLastChildFillChanged Occurs when the value of the LastChildFill property changes
OnMarginChanged Occurs when the value of the Margin property changes
OnPaddingChanged Occurs when the value of the Padding property changes
OnParentChanged Occurs when the value of the Parent property changes
OnTagChanged Occurs when the value of the Tag property changes
OnWidthChanged Occurs when the value of the Width property changes
⚠️ **GitHub.com Fallback** ⚠️