DockPanel - ahatornn/clforms GitHub Wiki
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>
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
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.
| Syntax | Description |
|---|---|
| DockPanel() | Initialize a new DockPanel instance |
| 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 |
| 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 |
| 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 |