Hide

SftTree/NET 2.0 - Tree Control for Windows Forms

Display
Print

PartAlignmentEnum Enumeration

Defines the alignment of the part within a cell (derived from CellBaseClass).

Class: (none)
Namespace: Softelvdm.Controls
Assembly: Softelvdm.SftTreeNET

Syntax

public enum PartAlignmentEnum;
Public Enum PartAlignmentEnum

Values

NameDescription
EntireAreaThe part occupies the entire cell. In this case, only one part should be present in the CellBaseClass.Parts collection.
This alignment is best suited for parts such as a progressbar (ProgressBarPartClass) that fills the entire cell.
FlushStartHorizontal Layout (CellBaseClass.Orientation): The part starts at the left edge of the remaining cell space and extends to the right. It is flush left-aligned within the cell, without any gap horizontally or vertically.
Vertical Layout (CellBaseClass.Orientation): The part starts at the top edge of the remaining cell space and extends down. It is top-aligned within the cell, without any gap horizontally or vertically.
This alignment is best suited for parts such as a dropdown button (DropDownButtonPartClass) that must be at the edge of the cell and that fill the cell completely (in height for a horizontal layout or in width for a vertical layout).
StartingEdgeHorizontal Layout (CellBaseClass.Orientation): The part starts at the left edge of the remaining cell space and extends to the right. It is flush left-aligned within the cell, without any gap horizontally. Vertically, the available space is restricted by the top and bottom gap (defined using the PartsTopEdge and PartsBottomEdge properties).
Vertical Layout (CellBaseClass.Orientation): The part starts at the top edge of the cell and extends down. It is top-aligned within the cell, without any gap vertically. Horizontally, the available space is restricted by the left and right gap (defined using the PartsLeftEdge and PartsRightEdge properties).
NearHorizontal Layout (CellBaseClass.Orientation): A left gap (see PartsLeftEdge) starts at the left edge of the remaining cell space and is followed by the part, which extends to the right. Vertically, the available space is restricted by the top and bottom gap (defined using the PartsTopEdge and PartsBottomEdge properties).
Vertical Layout (CellBaseClass.Orientation): A top gap (PartsTopEdge) starts at the top edge of the remaining cell space and is followed by the part, which extends down. Horizontally, the available space is restricted by the left and right gap (defined using the PartsLeftEdge and PartsRightEdge properties).
CenterHorizontal Layout (CellBaseClass.Orientation): The part is horizontally centered within the remaining interior cell space and is followed by a right gap (see PartsRightEdge). Vertically, the available space is restricted by the top and bottom gap (defined using the PartsTopEdge and PartsBottomEdge properties).
Vertical Layout (CellBaseClass.Orientation): The part is vertically centered within the remaining interior cell space and is followed by a bottom gap (see PartsBottomEdge). Horizontally, the available space is restricted by the left and right gap (defined using the PartsLeftEdge and PartsRightEdge properties).
FarHorizontal Layout (CellBaseClass.Orientation): A right gap (see PartsRightEdge) starts at the right edge of the remaining interior cell space and is preceded by the part, which extends to the left. Vertically, the available space is restricted by the top and bottom gap (defined using the PartsTopEdge and PartsBottomEdge properties).
Vertical Layout (CellBaseClass.Orientation): A bottom gap (see PartsBottomEdge) starts at the bottom edge of the remaining interior cell space and is preceded by the part, which extends up. Horizontally, the available space is restricted by the left and right gap (defined using the PartsLeftEdge and PartsRightEdge properties).
EndingEdgeHorizontal Layout (CellBaseClass.Orientation): A right gap (see PartsRenderingClass.SetEdges) starts at the right edge of the remaining interior cell space and is preceded by the part, which extends to the left. Vertically, the available space is restricted by the top and bottom gap (defined using the PartsTopEdge and PartsBottomEdge properties).
Vertical Layout (CellBaseClass.Orientation): A bottom gap (see PartsBottomEdge) starts at the bottom edge of the remaining interior cell space and is preceded by the part, which extends up. Horizontally, the available space is restricted by the left and right gap (defined using the PartsLeftEdge and PartsRightEdge properties).
FlushEndHorizontal Layout (CellBaseClass.Orientation): The part starts at the right edge of the remaining interior cell space and extends to the left. It is flush right-aligned within the cell, without any gap horizontally or vertically.
Vertical Layout (CellBaseClass.Orientation): The part starts at the bottom edge of the remaining interior cell space and extends up. It is bottom-aligned within the cell, without any gap horizontally or vertically.
This alignment is best suited for parts such as a dropdown button (DropDownButtonPartClass) that must be at the edge of the cell and that fill the cell completely (in height).

Comments

Defines the alignment of the part within a cell (derived from CellBaseClass).

When parts are rendered within a cell, they are rendered in the order as they appear in the CellBaseClass.Parts collection.

As each part is rendered, its GenericPartClass.PartAlignment property defines where the part is located within the remaining available cell space.

Examples

C#

            ip.Action += new GenericPartClass.ActionEventHandler(ip_Action);

            // Add another item
            item = sftTree1.ItemCollection.Add();

            // Add a progressbar to the first cell
            ProgressBarPartClass pbp = new ProgressBarPartClass(0, 50, 25, 100, 12, GadgetAppearanceEnum.ThemedSystem,
                            Color.Red, Color.White, System.Drawing.Drawing2D.LinearGradientMode.Vertical);
            pbp.PartAlignment = PartAlignmentEnum.EntireArea;
            pbp.Appearance = GadgetAppearanceEnum.System;
            item.Cells[0].Parts.Add(pbp);

            // Add a button to the second cell
            ButtonPartClass bp = new ButtonPartClass(false, HAlignmentOptionalEnum.Default, VAlignmentOptionalEnum.Default,
                        true, false, GadgetAppearanceEnum.ThemedSystem, null, "Click Me", null, Color.Red);
            bp.Action += new GenericPartClass.ActionEventHandler(bp_Action);

VB.NET

    AddHandler ip.Action, AddressOf ip_Action

    ' Add another item
    item = sftTree1.ItemCollection.Add()

    ' Add a progressbar to the first cell
    Dim pbp As ProgressBarPartClass = New ProgressBarPartClass(0, 50, 25, 100, 12, GadgetAppearanceEnum.ThemedSystem, _
                Color.Red, Color.White, System.Drawing.Drawing2D.LinearGradientMode.Vertical)
    pbp.PartAlignment = PartAlignmentEnum.EntireArea
    pbp.Appearance = GadgetAppearanceEnum.System
    item.Cells(0).Parts.Add(pbp)

    ' Add a button to the second cell
    Dim bp As ButtonPartClass = New ButtonPartClass(False, HAlignmentOptionalEnum.Default, VAlignmentOptionalEnum.Default, _
            True, False, GadgetAppearanceEnum.ThemedSystem, Nothing, "Click Me", Nothing, Color.Red)
    AddHandler bp.Action, AddressOf bp_Action

See Also | Classes | SftTree/NET 2.0