THE FIELD GUIDE

Complete reference

The original consolidated model and property reference.

This reference covers the 88 implemented toolbox entries plus Form. It was checked against the compiled Core models and InspectorCatalog. The larger roadmap is separate. Start with the usage guide for setup, JavaScript recipes, and C# integration.

Reading the tables

  • Inspector IDs are the field names stored in Builder state; C# model properties use PascalCase.
  • A property in the inspector is not automatically supported by forma.get or forma.set. See the JavaScript API table in the usage guide. The extended runtime property guide lists the shared and component-specific fields now connected to get/set/bind, with read-only status fields separated from setters.
  • Shared visual properties are in Builder Appearance, not automatically properties on every Core control.
  • C# defaults below are model constructor defaults. Builder may supply different initial geometry, colors, or text when you drop a control.
  • Image source is a read-only field filled by picker actions. File/folder selected paths can be edited or chosen. IDs are immutable.
  • C# properties without notifications should be configured before rendering, or followed by renderer.UpdateAsync(control) when your host changes them.

Shared inspector properties

Visual controls expose geometry and appearance. Tray components expose the applicable General/Behavior fields and Custom Properties action. The inspector filters these by kind; do not apply a visual field to a tray component.

Advanced

The Custom Properties action is directly below Search properties, above the property categories, for both visual controls and tray components.

IDLabelEditorValues / rangeNotes
cssClassCSS classtext—Editable
idCSS IDtext—Read-only

Appearance

IDLabelEditorValues / rangeNotes
backColorBackgroundcolor—Editable
foreColorForegroundcolor—Editable
borderStyleBorder styleselectnone, solid, dashed, dottedEditable; children only
borderColorBorder colorcolor—Editable; children only
borderWidthBorder widthnumber0 to 10Editable; children only
borderSidesBorder sidesselectall, none, top, bottom, left, right, top,bottom, left,right, top,left,right, bottom,left,rightEditable; children only. bottom draws a divider-style line
borderRadiusRadiusnumber0 to 100Editable; children only
opacityOpacity (%)number10 to 100Editable; children only
shadowShadowselectNone, Small, Medium, LargeEditable; children only
cursorCursorselectdefault, pointer, text, crosshair, help, not-allowedEditable; children only

Behavior

IDLabelEditorValues / rangeNotes
enabledEnabledcheckbox—Editable; children only
visibleVisiblecheckbox—Editable; children only
focusableFocusablecheckbox—Editable; children only
tabIndexTab indexnumber0 to 32767Editable; children only
toolTipTooltiptext—Editable; children only

General

IDLabelEditorValues / rangeNotes
nameNametext—Editable
idIDtext—Read-only
textText / Titletext—Editable
tagTagtext—Editable
lockedLockedcheckbox—Editable

Layout

IDLabelEditorValues / rangeNotes
dockDockselectnone, top, bottom, left, right, fillVisual children; disabled in managed layouts
anchorAnchorselectAll combinations of top, bottom, left, right; noneDefault top,left; Dock takes priority
IDLabelEditorValues / rangeNotes
xXnumber0 to 1600Editable; children only
yYnumber0 to 1200Editable; children only
widthWidthnumber24 to 1600Editable
heightHeightnumber20 to 1200Editable
minimumWidthMin widthnumber0 to 1600Editable
minimumHeightMin heightnumber0 to 1200Editable
maximumWidthMax width (0=auto)number0 to 1600Editable
maximumHeightMax height (0=auto)number0 to 1200Editable
marginTopMargin topnumber0 to 64Editable; children only
marginRightMargin rightnumber0 to 64Editable; children only
marginBottomMargin bottomnumber0 to 64Editable; children only
marginLeftMargin leftnumber0 to 64Editable; children only
paddingTopPadding topnumber0 to 64Editable; children only
paddingRightPadding rightnumber0 to 64Editable; children only
paddingBottomPadding bottomnumber0 to 64Editable; children only
paddingLeftPadding leftnumber0 to 64Editable; children only
layoutSlotPane / tab / cellnumber1 to 100Editable; children only

Typography

IDLabelEditorValues / rangeNotes
fontFamilyFont familyselectSegoe UI, Arial, Consolas, GeorgiaEditable
fontSizeFont sizenumber8 to 48Editable
fontWeightWeightselectnormal, bold, 100, 200, 300, 400, 500, 600, 700, 800, 900Editable
fontStyleFont styleselectnormal, italicEditable
textAlignAlignmentselectleft, center, rightEditable
lineHeightLine heightnumber0.5 to 4Editable
letterSpacingLetter spacingnumber-5 to 20Editable

Geometry is in pixels relative to the parent content area. Flow/Table children use layout order/cell placement instead of free X/Y. Font size is pixels. Opacity is percent. Per-side margin/padding fields are the actual appearance spacing. Locked prevents designer edits; Enabled and Visible affect Preview. Custom Properties contains CSS, behavior JavaScript, and custom JSON; its CSS can override inspector appearance.

Implemented controls

Jump to: Avatar · BackgroundWorker · Badge · Button · Card · CheckBox · CheckedListBox · CircularProgress · ColorPicker · ComboBox · ConfirmationDialog · ContextMenu · ContextMenuStrip · DataGridView · DatePicker · DateTimePicker · Dialog · Divider · EmptyState · FilePicker · FlowLayoutPanel · FolderPicker · Form · GroupBox · Icon · Image · Label · LinkLabel · ListBox · ListView · LoadingOverlay · MaskedTextBox · MenuStrip · NumericUpDown · Pagination · Panel · PasswordBox · PictureBox · ProgressBar · PropertyGrid · RadioButton · RichTextBox · SearchBox · Skeleton · Slider · Spinner · SplitContainer · StatusBar · TabControl · TableLayoutPanel · TextArea · TextBox · TimePicker · Timer · Toast · ToggleButton · ToggleSwitch · Toolbar · ToolStrip · Tooltip · TreeView

Avatar

Kind: avatar · Base model: Image · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
initialsInitials (blank=automatic)text—No
shapeShapeselectcircle, rounded, squareNo
sourceImage sourcetext—Yes
sizeModeSize modeselectcontain, cover, fillNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
InitialsString""Yes
ShapeString"circle"Yes
SourceString""Yes
SizeModeString"cover"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

BackgroundWorker

Kind: backgroundworker · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
workerReportsProgressReport progresscheckbox—No
workerSupportsCancellationCancellationcheckbox—No
isBusyBusycheckbox—Yes

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
IsBusyBooleanfalseNo
WorkerReportsProgressBooleantrueYes
WorkerSupportsCancellationBooleantrueYes

Declared C# methods: RunAsync(Func3 work); CancelAsync(); Dispose()`.

Declared/inherited C# events: ProgressChanged, RunWorkerCompleted, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Badge

Kind: badge · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
variantVariantselectneutral, info, success, warning, dangerNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
VariantString"info"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Button

Kind: button · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
styleStyleselectDefault, Primary, Secondary, Success, Warning, Danger, CustomNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
EnabledBooleantrueYes

Declared C# methods: OnClick().

Declared/inherited C# events: Click, MouseDown, MouseUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Card

Kind: card · Base model: LayoutContainer · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
descriptionDescriptiontextarea—No
headerVisibleShow headercheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DescriptionString"Add content to this card."Yes
HeaderVisibleBooleantrueYes
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

CheckBox

Kind: checkbox · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
checkedCheckedcheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
CheckedBooleanfalseYes

Declared/inherited C# events: CheckedChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

CheckedListBox

Kind: checkedlistbox · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
checkedIndicesChecked indicestext—No
itemsItems (one per line)textarea—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ItemsString[]["Item 1","Item 2","Item 3"]Yes
CheckedIndicesInt32[][]Yes

Declared C# methods: SetItemChecked(Int32 index, Boolean value).

Declared/inherited C# events: ItemCheck, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

CircularProgress

Kind: circularprogress · Base model: NumericControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
minimumMinimumnumber—No
maximumMaximumnumber—No
numberValuenumber—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
MinimumDouble0Yes
MaximumDouble100Yes
IncrementDouble1Yes
ValueDouble0Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ColorPicker

Kind: colorpicker · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
colorSelected colorcolor—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ColorString"#2878ff"Yes

Declared/inherited C# events: ColorChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ComboBox

Kind: combobox · Base model: ChoiceControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
itemsItems (one per line)textarea—No
selectedIndexSelected indexnumber-1 to 10000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ItemsString[]["Item 1","Item 2","Item 3"]Yes
SelectedIndexInt320Yes

Declared/inherited C# events: SelectedIndexChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ConfirmationDialog

Kind: confirmationdialog · Base model: Dialog · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
dialogTitleDialog titletext—No
messageMessagetextarea—No
buttonsButtonsselectOK, OKCancel, YesNo, YesNoCancelNo
canCancelAllow Escapecheckbox—No
resultLast resulttext—Yes

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DialogTitleString"Confirm"Yes
MessageString"Do you want to continue?"Yes
ButtonsString"YesNo"Yes
CanCancelBooleantrueYes
IsOpenBooleanfalseNo
ResultString""No

Declared/inherited C# events: Closed, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ContextMenu

Kind: contextmenu · Base model: CommandControl · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
commandItemsCommands (JSON)textarea—No
targetIdTargettarget—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TargetIdString""Yes
ItemsCommandItem[][{"Id":"action","Text":"Action","Enabled":true,"Checked":false,"CheckOnClick":false,"Separator":false,"Item…Yes

Declared/inherited C# events: ItemClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ContextMenuStrip

Kind: contextmenustrip · Base model: ContextMenu · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
commandItemsCommands (JSON)textarea—No
targetIdTargettarget—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TargetIdString""Yes
ItemsCommandItem[][{"Id":"action","Text":"Action","Enabled":true,"Checked":false,"CheckOnClick":false,"Separator":false,"Item…Yes

Declared/inherited C# events: ItemClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

DataGridView

Kind: datagridview · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
gridColumnsColumns (one per line)textarea—No
gridRowsRows (JSON)textarea—No
readOnlyRead onlycheckbox—No
sortingEnabledAllow sortingcheckbox—No
filteringEnabledAllow filteringcheckbox—No
filterTextFilter texttext—No
sortColumnSort column (-1=none)number-1 to 99No
sortDirectionSort directionselectascending, descendingNo
selectedRowSelected row (-1=none)number-1 to 100000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
SortingEnabledBooleantrueYes
FilteringEnabledBooleantrueYes
FilterTextString""Yes
SortColumnInt32-1Yes
SortDirectionString"ascending"Yes
SelectedRowInt32-1Yes
VisibleRowIndicesInt32[][0,1]No
ColumnsString[]["Name","Value"]Yes
RowsString[][][["First row","1"],["Second row","2"]]Yes
ReadOnlyBooleantrueYes

Declared C# methods: SetCell(Int32 row, Int32 column, String value).

Declared/inherited C# events: RowSelectionChanged, CellChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

DatePicker

Kind: datepicker · Base model: DateTimeInput · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
dateValueValuedate—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DateValueString""Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

DateTimePicker

Kind: datetimepicker · Base model: DateTimeInput · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
dateValueValuedatetime-local—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DateValueString""Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Dialog

Kind: dialog · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
dialogTitleDialog titletext—No
messageMessagetextarea—No
buttonsButtonsselectOK, OKCancel, YesNo, YesNoCancelNo
canCancelAllow Escapecheckbox—No
resultLast resulttext—Yes

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DialogTitleString"Message"Yes
MessageString"Your message here."Yes
ButtonsString"OKCancel"Yes
CanCancelBooleantrueYes
IsOpenBooleanfalseNo
ResultString""No

Declared C# methods: Show(); Close(String result).

Declared/inherited C# events: Closed, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Divider

Kind: divider · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
thicknessLine thicknessnumber1 to 12No
lineStyleLine styleselectsolid, dashed, dottedNo
orientationOrientationselecthorizontal, verticalNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
ThicknessInt321Yes
LineStyleString"solid"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

EmptyState

Kind: emptystate · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
descriptionDescriptiontextarea—No
iconNameIconselectimage, search, folder-open, square-check, circle, house, settings, lock, calendar, file-plus, list, xNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DescriptionString"Add items to see them here."Yes
IconNameString"folder-open"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

FilePicker

See FilePicker/FolderPicker usage and JavaScript/C# examples.

Kind: filepicker · Base model: PathPicker · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
selectedPathSelected pathtext—No
dialogTitleDialog titletext—No
filterFile filtertext—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
FilterString"All files|*.*"Yes
SelectedPathString""Yes
DialogTitleString"Choose file"Yes

Declared/inherited C# events: SelectedPathChanged, BrowseRequested, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

FlowLayoutPanel

Kind: flowlayoutpanel · Base model: LayoutContainer · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
orientationOrientationselecthorizontal, verticalNo
gapGapnumber0 to 64No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

FolderPicker

See FilePicker/FolderPicker usage and JavaScript/C# examples.

Kind: folderpicker · Base model: PathPicker · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
selectedPathSelected pathtext—No
dialogTitleDialog titletext—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
SelectedPathString""Yes
DialogTitleString"Choose folder"Yes

Declared/inherited C# events: SelectedPathChanged, BrowseRequested, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Form

Kind: form · Base model: Control · Designer: visual control.

Uses the shared inspector fields and contextual actions.

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TitleString""Yes
WidthInt321366Yes
HeightInt32768Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

GroupBox

Kind: groupbox · Base model: LayoutContainer · Designer: visual control.

Uses the shared inspector fields and contextual actions.

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Icon

Kind: icon · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
iconNameIconselectimage, search, folder-open, square-check, circle, house, settings, lock, calendar, file-plus, list, xNo
strokeWidthStroke widthnumber1 to 4No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
NamesIReadOnlyList1`["image","search","folder-open","square-check","circle","house","settings","lock","calendar","file-plus","l…No
IconNameString"image"Yes
StrokeWidthInt322Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Image

Kind: image · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
sourceImage sourcetext—Yes
sizeModeSize modeselectcontain, cover, fillNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
SourceString""Yes
SizeModeString"contain"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Label

Kind: label · Base model: Control · Designer: visual control.

Uses the shared inspector fields and contextual actions.

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

LinkLabel

Kind: linklabel · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
urlURLtext—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
UrlString"https://example.com/"Yes
VisitedBooleanfalseYes

Declared C# methods: OnLinkClicked().

Declared/inherited C# events: LinkClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ListBox

Kind: listbox · Base model: ChoiceControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
itemsItems (one per line)textarea—No
selectedIndexSelected indexnumber-1 to 10000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ItemsString[]["Item 1","Item 2","Item 3"]Yes
SelectedIndexInt320Yes

Declared/inherited C# events: SelectedIndexChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ListView

Kind: listview · Base model: ChoiceControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
itemsItems (one per line)textarea—No
selectedIndexSelected indexnumber-1 to 10000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ItemsString[]["Item 1","Item 2","Item 3"]Yes
SelectedIndexInt320Yes

Declared/inherited C# events: SelectedIndexChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

LoadingOverlay

Kind: loadingoverlay · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
isActiveActivecheckbox—No
targetIdTargettarget—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TargetIdString""Yes
IsActiveBooleanfalseYes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

MaskedTextBox

Kind: maskedtextbox · Base model: TextBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
placeholderPlaceholdertext—No
readOnlyRead onlycheckbox—No
passwordPasswordcheckbox—No
maxLengthMax lengthnumber1 to 32767No
maskMasktext—No
maskCompletedCompletecheckbox—Yes

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
MaskString"000-0000"Yes
MaskCompletedBooleanfalseNo
ReadOnlyBooleanfalseYes
MultilineBooleanfalseYes
PasswordBooleanfalseYes
SpellCheckBooleantrueYes
MaxLengthInt320Yes
MinLengthInt320Yes
SelectionStartInt320Yes
SelectionEndInt320Yes
SelectionLengthInt320Yes

Declared C# methods: SetMaskedText(String text); Format(String text).

Declared/inherited C# events: TextChanged, EnterPressed, EscapePressed, GotFocus, LostFocus, KeyDown, KeyUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Kind: menustrip · Base model: CommandControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
commandItemsCommands (JSON)textarea—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ItemsCommandItem[][{"Id":"file","Text":"File","Enabled":true,"Checked":false,"CheckOnClick":false,"Separator":false,"Items":[…Yes

Declared/inherited C# events: ItemClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

NumericUpDown

Kind: numericupdown · Base model: NumericControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
minimumMinimumnumber—No
maximumMaximumnumber—No
incrementStepnumber0.001 to 1000000No
numberValuenumber—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
MinimumDouble0Yes
MaximumDouble100Yes
IncrementDouble1Yes
ValueDouble0Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Pagination

Kind: pagination · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
totalItemsTotal itemsnumber0 to 2147483647No
pageSizePage sizenumber1 to 10000No
pagePagenumber1 to 2147483647No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TotalItemsInt32100Yes
PageSizeInt3210Yes
PageCountInt3210No
PageInt321Yes

Declared/inherited C# events: PageChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Panel

Kind: panel · Base model: Control · Designer: visual control.

Uses the shared inspector fields and contextual actions.

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

PasswordBox

Kind: passwordbox · Base model: TextBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
placeholderPlaceholdertext—No
readOnlyRead onlycheckbox—No
passwordPasswordcheckbox—No
maxLengthMax lengthnumber1 to 32767No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ReadOnlyBooleanfalseYes
MultilineBooleanfalseYes
PasswordBooleantrueYes
SpellCheckBooleantrueYes
MaxLengthInt320Yes
MinLengthInt320Yes
SelectionStartInt320Yes
SelectionEndInt320Yes
SelectionLengthInt320Yes

Declared/inherited C# events: TextChanged, EnterPressed, EscapePressed, GotFocus, LostFocus, KeyDown, KeyUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

PictureBox

Kind: picturebox · Base model: Image · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
sourceImage sourcetext—Yes
sizeModeSize modeselectcontain, cover, fillNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
SourceString""Yes
SizeModeString"contain"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ProgressBar

Kind: progressbar · Base model: NumericControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
minimumMinimumnumber—No
maximumMaximumnumber—No
numberValuenumber—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
MinimumDouble0Yes
MaximumDouble100Yes
IncrementDouble1Yes
ValueDouble0Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

PropertyGrid

Kind: propertygrid · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
entriesProperties (JSON)textarea—No
readOnlyRead onlycheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
EntriesPropertyEntry[][{"Name":"Name","Value":"Example","Category":"General","ReadOnly":false},{"Name":"Enabled","Value":"True","…Yes
ReadOnlyBooleanfalseYes

Declared C# methods: SetEntryValue(Int32 index, String value).

Declared/inherited C# events: PropertyValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

RadioButton

Kind: radiobutton · Base model: CheckBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
checkedCheckedcheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
CheckedBooleanfalseYes

Declared/inherited C# events: CheckedChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

RichTextBox

Kind: richtextbox · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
documentRich document (JSON)textarea—No
readOnlyRead onlycheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TextString"Write something..."Yes
DocumentRichBlock[][{"Kind":"paragraph","Runs":[{"Text":"Write something...","Bold":false,"Italic":false,"Underline":false}]}]Yes
ReadOnlyBooleanfalseYes

Declared C# methods: SetPlainText(String text).

Declared/inherited C# events: TextChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Kind: searchbox · Base model: TextBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
placeholderPlaceholdertext—No
readOnlyRead onlycheckbox—No
passwordPasswordcheckbox—No
maxLengthMax lengthnumber1 to 32767No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ReadOnlyBooleanfalseYes
MultilineBooleanfalseYes
PasswordBooleanfalseYes
SpellCheckBooleantrueYes
MaxLengthInt320Yes
MinLengthInt320Yes
SelectionStartInt320Yes
SelectionEndInt320Yes
SelectionLengthInt320Yes

Declared/inherited C# events: TextChanged, EnterPressed, EscapePressed, GotFocus, LostFocus, KeyDown, KeyUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Skeleton

Kind: skeleton · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
shapeShapeselecttext, rectangle, circleNo
linesLinesnumber1 to 10No
isActiveActivecheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ShapeString"text"Yes
LinesInt323Yes
IsActiveBooleantrueYes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Slider

Kind: slider · Base model: NumericControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
minimumMinimumnumber—No
maximumMaximumnumber—No
incrementStepnumber0.001 to 1000000No
numberValuenumber—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
MinimumDouble0Yes
MaximumDouble100Yes
IncrementDouble1Yes
ValueDouble0Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Spinner

Kind: spinner · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
isActiveActivecheckbox—No
speedAnimation speed (ms)number100 to 5000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
IsActiveBooleantrueYes
SpeedInt32800Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

SplitContainer

Kind: splitcontainer · Base model: LayoutContainer · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
orientationOrientationselecthorizontal, verticalNo
gapGapnumber0 to 64No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

StatusBar

Kind: statusbar · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
rightTextRight texttext—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
RightTextString""Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TabControl

Kind: tabcontrol · Base model: LayoutContainer · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
orientationOrientationselecthorizontal, verticalNo
tabsTabs (one per line)textarea—No
selectedTabSelected tabnumber0 to 99No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TableLayoutPanel

Kind: tablelayoutpanel · Base model: LayoutContainer · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
gapGapnumber0 to 64No
columnsColumnsnumber1 to 12No
rowCountRowsnumber1 to 100No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
GapInt328Yes
ColumnsInt322Yes
TabsString[]["Tab 1","Tab 2"]Yes
RowCountInt322Yes
SelectedTabInt320Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TextArea

Kind: textarea · Base model: TextBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
placeholderPlaceholdertext—No
readOnlyRead onlycheckbox—No
passwordPasswordcheckbox—No
maxLengthMax lengthnumber1 to 32767No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ReadOnlyBooleanfalseYes
MultilineBooleantrueYes
PasswordBooleanfalseYes
SpellCheckBooleantrueYes
MaxLengthInt320Yes
MinLengthInt320Yes
SelectionStartInt320Yes
SelectionEndInt320Yes
SelectionLengthInt320Yes

Declared/inherited C# events: TextChanged, EnterPressed, EscapePressed, GotFocus, LostFocus, KeyDown, KeyUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TextBox

Kind: textbox · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
placeholderPlaceholdertext—No
readOnlyRead onlycheckbox—No
passwordPasswordcheckbox—No
maxLengthMax lengthnumber1 to 32767No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
ReadOnlyBooleanfalseYes
MultilineBooleanfalseYes
PasswordBooleanfalseYes
SpellCheckBooleantrueYes
MaxLengthInt320Yes
MinLengthInt320Yes
SelectionStartInt320Yes
SelectionEndInt320Yes
SelectionLengthInt320Yes

Declared C# methods: OnTextChanged(); SetText(String text); SetSelection(Int32 start, Int32 end); SetFocus(); OnEnterPressed(); OnEscapePressed(); OnGotFocus(); OnLostFocus(); OnKeyDown(KeyEventArgs e); OnKeyUp(KeyEventArgs e).

Declared/inherited C# events: TextChanged, EnterPressed, EscapePressed, GotFocus, LostFocus, KeyDown, KeyUp, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TimePicker

Kind: timepicker · Base model: DateTimeInput · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
dateValueValuetime—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
DateValueString""Yes

Declared/inherited C# events: ValueChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Timer

Preview scripts support interval through forma.get/set/bind. Pass an integer number of milliseconds, e.g. forma.set("timer1", "interval", 1000). The value is clamped to 10–3600000, applies to a running timer, and does not edit the saved design. Set enabled=true to start and enabled=false to stop. Numeric strings such as "1000" are rejected and flagged by the editor.

Kind: timer · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
intervalInterval (ms)number10 to 3600000No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
IntervalInt321000Yes
EnabledBooleanfalseYes

Declared C# methods: Start(); Stop(); Dispose().

Declared/inherited C# events: Tick, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Toast

Kind: toast · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
variantVariantselectneutral, info, success, warning, dangerNo
positionPositionselecttop-right, top-left, bottom-right, bottom-leftNo
durationDuration (ms)number500 to 60000No
dismissibleAllow dismissalcheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
VariantString"info"Yes
PositionString"bottom-right"Yes
DurationInt324000Yes
DismissibleBooleantrueYes
IsOpenBooleanfalseNo

Declared C# methods: Show(); Close().

Declared/inherited C# events: Closed, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ToggleButton

Kind: togglebutton · Base model: CheckBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
checkedCheckedcheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
CheckedBooleanfalseYes

Declared/inherited C# events: CheckedChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ToggleSwitch

Kind: toggleswitch · Base model: CheckBox · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
checkedCheckedcheckbox—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
CheckedBooleanfalseYes

Declared/inherited C# events: CheckedChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Toolbar

Kind: toolbar · Base model: CommandControl · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
commandItemsCommands (JSON)textarea—No
orientationOrientationselecthorizontal, verticalNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
ItemsCommandItem[][{"Id":"new","Text":"New","Enabled":true,"Checked":false,"CheckOnClick":false,"Separator":false,"Items":nul…Yes

Declared/inherited C# events: ItemClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

ToolStrip

Kind: toolstrip · Base model: Toolbar · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
commandItemsCommands (JSON)textarea—No
orientationOrientationselecthorizontal, verticalNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
OrientationString"horizontal"Yes
ItemsCommandItem[][{"Id":"new","Text":"New","Enabled":true,"Checked":false,"CheckOnClick":false,"Separator":false,"Items":nul…Yes

Declared/inherited C# events: ItemClicked, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Tooltip

Kind: tooltip · Base model: Component · Designer: component tray.

Inspector IDLabelEditorValues / rangeRead-only
targetIdTargettarget—No
initialDelayInitial delay (ms)number0 to 10000No
showDurationDuration (ms)number500 to 60000No
placementPlacementselecttop, bottom, left, rightNo

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
TargetIdString""Yes
InitialDelayInt32500Yes
ShowDurationInt325000Yes
PlacementString"top"Yes

Declared/inherited C# events: ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

TreeView

Kind: treeview · Base model: Control · Designer: visual control.

Inspector IDLabelEditorValues / rangeRead-only
nodesNodes (JSON)textarea—No
selectedNodeSelected node IDtext—No
expandedNodesExpanded node IDstext—No

C# model properties (includes properties inherited from the listed base, excluding common Control fields):

PropertyTypeConstructor defaultWritable
NodesTreeNode[][{"Id":"root","Text":"Root","Children":[{"Id":"child","Text":"Child","Children":[]}]}]Yes
SelectedNodeString""Yes
ExpandedNodesString[]["root"]Yes

Declared C# methods: SetExpanded(String id, Boolean expanded).

Declared/inherited C# events: SelectedNodeChanged, ChildAdded, ChildRemoved. Declared events are not all forwarded by WebView2; see the event support table in the usage guide.

Common Core model fields

Id is an init-only stable identifier; Name is the script lookup name; Text is display text; X/Y are nullable positions; LayoutSlot is a one-based pane/tab/cell. Children and Parent describe ownership. Add, Insert, Remove and MoveChild manage the tree. Every control has PropertyChanged. The base Value is a string field; NumericControl shadows it with a double. Input JavaScript should use the guide’s typed runtime API.

Selection controls and Rating

RadioGroup

Inherits ChoiceControl through SelectionGroup. Items defaults to three items, SelectedIndex defaults to zero (-1 clears), and Orientation defaults to horizontal. Inspector: Items, Selected index, Orientation, and common properties. JS: items and selectedIndex get/set/bind. C# event: SelectedIndexChanged.

SegmentedControl

Uses the same model and properties as RadioGroup, rendered as buttons. Supports arrow keys/Home/End and a single keyboard tab stop for the selected segment.

CheckBoxGroup

Inherits MultiChoiceControl. Items defaults to three items; CheckedIndices defaults to empty and normalizes to unique valid ascending indices. Orientation defaults to horizontal. Inspector: Items, Checked indices, Orientation, and common properties. JS: items and checkedIndices get/set/bind. C# method/event: SetItemChecked(index, checked), ItemCheck. CheckedListBox shares this model base.

Rating

Inherits NumericControl. Stars defaults to five (1–10); Value defaults to zero and rounds to whole stars within bounds. ReadOnly defaults to false. Inspector: Stars, Value, Read only, and common properties. JS: value and readOnly get/set/bind. C# event: ValueChanged. Delete/Backspace clears to zero in Preview.

Chips and icon action buttons

Chip

Inherits CheckBox. Checked defaults false, Removable false, Variant neutral. Supports neutral/info/success/warning/danger. IsRemoved is transient and omitted from saved projects. Remove() requires Removable and raises Removed once; Restore() clears removal. JS get/set/bind supports checked, variant, removable, isRemoved. Inspector exposes Checked, Variant, and Removable.

ChipGroup and ButtonGroup

ChipGroup inherits MultiSelectionGroup/MultiChoiceControl: Items, CheckedIndices, Orientation, ItemCheck and SetItemChecked. ButtonGroup inherits SelectionGroup/ ChoiceControl: Items, SelectedIndex, Orientation and SelectedIndexChanged. The inspector exposes those choices and orientation; JS uses items plus checkedIndices or selectedIndex. Defaults match their shared model bases.

IconButton and FloatingActionButton

IconButton inherits Button. IconName defaults search; ShowText defaults false; Text defaults Search. FloatingActionButton inherits IconButton, defaults to file-plus/Add, and has a circular Builder appearance. Icons use Icon.Names. Inspector: Icon, Show text, and common properties. JS get/set/bind: iconName, showText, and common properties. Both retain Button.Click/OnClick behavior.

Command menu buttons

DropdownButton inherits CommandControl, with Text=Actions and the default Action command. SplitButton inherits DropdownButton, defaults Text=Run, and adds PrimaryEnabled=true, PrimaryClick, and InvokePrimary(). Both inherit Items, ItemClicked, and InvokeItem(id). Inspector: Commands JSON and common properties; SplitButton also exposes Primary enabled. JS get/set/bind: commandItems and primaryEnabled (SplitButton). Events: command-item and primary-click (SplitButton).

CommandButton

Inherits IconButton/Button. Defaults: Text=Command, IconName=file-plus, ShowText=true, Description=Perform an action. Inspector includes Description, Icon, Show text, and common properties. JS get/set/bind supports description, iconName, showText, and common properties. Click/OnClick retain Button behavior.

Modern layouts and navigation

Dock and Anchor (visual child appearance)

These are Builder Appearance properties rather than Core control members. Inspector and Preview JS get/set/bind use dock and anchor. Dock defaults none; accepted values: none/top/bottom/left/right/fill. Anchor defaults top,left; the inspector offers every combination of top, bottom, left and right, including none. Values use the exact lowercase comma-separated strings shown in the inspector. Both persist in project appearance and participate in design history.

Dock reserves edges in child order and processes Fill last. Docked positions and stretched dimensions cannot be dragged or manually edited. Dock takes priority over Anchor. Anchoring opposite edges stretches that dimension; one edge keeps its distance; neither edge centers the control along that axis. Width/height constraints still apply. Hidden docks reserve no space. Stack, flow, table and other managed layouts retain their own placement rules; use an inner Panel to apply docking/anchoring. The form itself and nonvisual components have no Dock or Anchor inspector. AppShell controls its main area's size automatically.

Accordion

Inherits TabControl. Tabs defaults to Section 1/Section 2; SelectedTab defaults to 0 and Expanded defaults true. Inspector labels are Sections (one per line), Expanded section (zero-based), and Expanded. Use the + button or Add section context action to create a section, then drop controls into that section. Children retain one-based LayoutSlot assignments. One section can be expanded at a time; clicking its header again collapses it. Native buttons support Enter and Space. JS get/set/bind supports tabs (string array), selectedTab, expanded and gap. Change supplies event.detail.selectedTab/expanded. Changing section names does not migrate children from removed sections; adjust their Layout slot if you remove a section containing controls.

Sidebar inherits LinearLayout and defaults to vertical stacking with scrolling. Place navigation or other controls inside it; moving it moves its children. AppShell and ResponsivePanel inherit ResponsiveLayout/LinearLayout. Both expose Gap (default 8, range 0–64), Orientation, and Breakpoint (inspector: Stack below width; default 600, range 100–2400). JS get/set/bind uses gap, orientation and breakpoint. The breakpoint measures the container's width, not the window.

AppShell places its first child beside the remaining content at wide horizontal widths; the first child's inspector Width sets the sidebar width. Remaining children share the available space and fill the height. Below Breakpoint, children stack and fill the available width. Start by dropping a Sidebar first, then a Panel or ResponsivePanel for the main content. ResponsivePanel wraps children at wide widths and stacks them at narrow widths. Child X/Y is managed; drag to reorder. This batch does not add routing, a drawer, or automatic form docking. Resize the container to test its breakpoint.

StackPanel, HStack, VStack, WrapPanel and CenterPanel

Inherit LinearLayout/LayoutContainer. StackPanel and VStack default to vertical; HStack defaults to horizontal. Orientation is editable; these are presets. Stack layouts do not wrap. WrapPanel wraps onto additional rows/columns. CenterPanel centers the child group along both axes. All use Gap (0–64, default 8) and child order. Inspector: Orientation, Gap, common fields. JS get/set/bind: orientation, gap. Children are grouped and saved with their parent; moving a container moves the entire group. X/Y fields are disabled for managed children; dragging reorders instead. Width/height still control each child's dimensions.

ScrollablePanel

Inherits LayoutContainer. Children use free X/Y positioning and may be larger than the visible panel. Set child size/position in the inspector for overflowing content. ScrollDirection defaults both; horizontal hides vertical overflow and vertical hides horizontal overflow. Inspector and JS get/set/bind use scrollDirection. The runtime's content area provides native browser scrolling.

Both inherit ChoiceControl; SideNavigation also inherits SelectionGroup. Breadcrumb defaults to Home/Projects/Details with SelectedIndex=2. SideNavigation defaults to Dashboard/Projects/Settings, SelectedIndex=0, Orientation=vertical. Inspector: Items, Selected index, plus Orientation for SideNavigation. JS get/set/bind: items, selectedIndex, and SideNavigation orientation. SelectedIndexChanged is the Core event. JS navigate supplies event.detail.index/text; application code decides what page/content to display.

Responsive layout primitives

ResponsiveGrid

An ordered CSS grid with a separate column count below its own width breakpoint. Inherits ResponsiveLayout/LinearLayout. Columns defaults to 2 (1–12), NarrowColumns to 1 (1–12), Breakpoint to 600 (100–2400), and Gap to 8 (0–64). Inspector and JS get/set/bind use columns, narrowColumns, breakpoint, and gap. At the exact breakpoint the wide column count applies. Design mode shows column guides; Preview shows only the application content. Child order determines cells, dragging reorders, and grid tracks own child width. Height remains adjustable. Margins and explicit size constraints remain applicable; oversized minimum widths can cause overflow. Grid cells are not TableLayoutPanel layoutSlot cells.

ResponsiveStack

Inherits ResponsiveLayout/LinearLayout. Orientation defaults horizontal; NarrowOrientation defaults vertical. Breakpoint and Gap use the same defaults and ranges as ResponsiveGrid. Inspector and JS use orientation, narrowOrientation, breakpoint, and gap. It never wraps. Vertical mode stretches child widths after margins; horizontal mode uses configured widths. Resize or change the container breakpoint to switch direction. Children retain identity, input state, and order. X/Y and Dock are managed by the stack.

BreakpointContainer

Inherits LayoutContainer with Breakpoint=600 (100–2400). Children in LayoutSlot 1 are the wide layout; children in LayoutSlot 2 are the narrow layout. At or above Breakpoint the wide layout is shown; below it the narrow layout is shown. Resize the container while designing to edit both layouts, or change a child's Layout slot in Properties. New drops use the displayed slot. Both groups stay in the project and retain runtime values; switching does not change configured Visible. Child positions are free, and Dock/Anchor operates independently in each group. The layout indicator is designer-only and reserves no application space. The runtime API uses breakpoint and each child's layoutSlot; there is no navigation router or automatic synchronization between duplicate inputs in the two groups.

AspectRatioContainer

Inherits LayoutContainer. AspectRatio defaults to 16/9, is finite, and clamps to 0.1–10. Inspector and JS get/set/bind use aspectRatio. The ratio is width divided by height. Resizing width derives the saved height; the independent Height editor is disabled, and JS height is read-only. Minimum/maximum height constraints may override the preferred ratio. Child X/Y, Dock, and Anchor remain available. Browser resize observation recalculates rendered height when a containing grid or responsive layout stretches the frame's width. Geometry getters still report configured model bounds; use Resize for actual rendered changes.

Inspector/model property aliases

Inspector IDC# model propertyJavaScript API when supported
numberNumericControl.Valuevalue
dateValueDateTimeInput.DateValuevalue
colorColorPicker.Colorvalue
commandItemsCommandControl.ItemsConfigure in inspector/C#
gridColumns, gridRowsDataGridView.Columns, RowsInspector/C#; JS forma.get/set uses array properties columns, rows
sourceImage.SourceChoose image / configure in C#
rowCountTableLayoutPanel.RowCountConfigure in inspector/C#
checkedIndicesMultiChoiceControl.CheckedIndicesJS get/set uses an integer array
targetIdTargetIdInspector resolves names to stable IDs; C# uses the target’s Id

The current Core LayoutContainer base also exposes shared fields such as Tabs/Columns on its descendants. Only the contextual fields listed above have meaning for that particular rendered layout; for example Card is not a tab control.

Search components, properties, and guides.

↑↓ navigate Enter open Esc close