WinForms Controls
The SkiaHostControl canvas host plus a WinForms wrapper for every Material control
The WinForms package ships two layers: SkiaHostControl, the full diagram editor surface (canvas, palette, property grid, export), and a wrapper control for every Material component so the same visuals can be used in ordinary WinForms layouts. All wrappers derive from SkiaControl.
On this page
Canvas Host
The complete diagram editing surface.
SkiaHostControl
Host control that provides a Skia drawing surface and a DrawingManager to host Skia components.
| Member | Kind | Description |
|---|---|---|
int ReloadExtensions() | Method | Reloads extensions from the install root and refreshes their palette entries. Returns the number of extension components added. |
Beep.Skia.DrawingManager DrawingManager | Property | Gets or sets the drawing manager. |
SkiaHostControl() | Method | Diagram editor canvas. Tab cycles through components; arrow keys move the selection; Delete removes it. |
void RebuildCommentPins() | Method | Rebuilds comment pins from the current components and comments. |
void RefreshCommentPins() | Method | Rebuilds comment pins and repaints the canvas. |
Beep.Skia.Collaboration.DiagramComment AddCommentToSelection(string text, string authorId = "local") | Method | Adds a comment anchored to the first selected component. Returns null when nothing is selected or the user cannot comment. |
bool ResolveComment(string commentId, string userId = "local") | Method | Resolves a comment by id and repaints. |
void ExportToPng(string filePath, float scale = 2f) | Method | Exports the current diagram to a PNG file. |
void ExportToSvg(string filePath) | Method | Exports the current diagram to an SVG file with a white background. |
void ExportToPdf(string filePath) | Method | Exports the current diagram to a PDF file. |
void PrintWithPreview() | Method | Shows a print preview for the current diagram. |
void BeginInit() | Method | Gets or sets the begin init. |
SkiaComponentDescriptorCollection DesignTimeComponents | Property | Gets or sets the design time components. |
bool BlockOverlappingDrops | Property | If true, component creation will be blocked when the new component's bounds overlap an existing component. Default false: overlaps allowed (prevents silent disappearance when dropping in same area). |
Beep.Skia.SkiaComponent CreateAndAddComponent(Type componentType, float x, float y, float width, float height, string name) | Method | Gets or sets the create and add component. |
Beep.Skia.SkiaComponent CreateAndAddComponentFromDescriptor(SkiaComponentDescriptor desc) | Method | Gets or sets the create and add component from descriptor. |
Control Base
Common base for every wrapper control.
SkiaControl
| Member | Kind | Description |
|---|---|---|
SkiaComponent SkiaComponent | Property | Gets or sets the skia component. |
SkiaControl() | Method | Initializes a new instance of the SkiaControl class. |
Input Wrappers
WinForms wrappers for the input components.
SkiaTextBox
Design-time wrapper that creates a Skia TextBox component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaTextBox() | Method | Initializes a new instance of the SkiaTextBox class. |
SkiaTextArea
Skia TextArea wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaTextArea() | Method | Initializes a new instance of the SkiaTextArea class. |
SkiaCheckBox
Design-time wrapper that creates a Skia Checkbox component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaCheckBox() | Method | Initializes a new instance of the SkiaCheckBox class. |
SkiaComboBox
Design-time wrapper that creates a Skia Dropdown component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaComboBox() | Method | Initializes a new instance of the SkiaComboBox class. |
SkiaDatePicker
Design-time wrapper that creates a Skia DatePicker component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaDatePicker() | Method | Initializes a new instance of the SkiaDatePicker class. |
SkiaSearch
Skia Search wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaSearch() | Method | Initializes a new instance of the SkiaSearch class. |
SkiaSlider
Design-time wrapper that creates a Skia Slider component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaSlider() | Method | Initializes a new instance of the SkiaSlider class. |
SkiaSwitch
Design-time wrapper that creates a Skia Switch component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaSwitch() | Method | Initializes a new instance of the SkiaSwitch class. |
SkiaToggleButton
Design-time wrapper that creates a Skia ToggleButton component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaToggleButton() | Method | Initializes a new instance of the SkiaToggleButton class. |
Action Wrappers
Buttons and button groups.
SkiaButton
Design-time wrapper that creates a Skia Button component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaButton() | Method | Initializes a new instance of the SkiaButton class. |
SkiaSplitButton
Skia SplitButton wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaSplitButton() | Method | Initializes a new instance of the SkiaSplitButton class. |
SkiaFloatingActionButton
Design-time wrapper that creates a Skia FloatingActionButton component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaFloatingActionButton() | Method | Initializes a new instance of the SkiaFloatingActionButton class. |
SkiaFabMenu
Design-time wrapper that creates a Skia FabMenu component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaFabMenu() | Method | Initializes a new instance of the SkiaFabMenu class. |
SkiaSegmentedButtons
Skia SegmentedButtons wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaSegmentedButtons() | Method | Initializes a new instance of the SkiaSegmentedButtons class. |
SkiaMenuButton
Skia MenuButton wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaMenuButton() | Method | Initializes a new instance of the SkiaMenuButton class. |
Display Wrappers
Cards, panels, labels and indicators.
SkiaCard
Design-time wrapper that creates a Skia Card component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaCard() | Method | Initializes a new instance of the SkiaCard class. |
SkiaPanel
Design-time wrapper that creates a Skia Panel component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaPanel() | Method | Initializes a new instance of the SkiaPanel class. |
SkiaLabel
Design-time wrapper that creates a Skia Label component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaLabel() | Method | Initializes a new instance of the SkiaLabel class. |
SkiaProgressBar
Skia ProgressBar wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaProgressBar() | Method | Initializes a new instance of the SkiaProgressBar class. |
SkiaSpinner
Design-time wrapper that creates a Skia Spinner component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaSpinner() | Method | Initializes a new instance of the SkiaSpinner class. |
SkiaSvgImage
Skia SvgImage wrapper (minimal)
| Member | Kind | Description |
|---|---|---|
SkiaSvgImage() | Method | Initializes a new instance of the SkiaSvgImage class. |
SkiaList
Design-time wrapper that creates a Skia List component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaList() | Method | Initializes a new instance of the SkiaList class. |
SkiaDataGrid
Design-time wrapper that creates a Skia DataGrid component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaDataGrid() | Method | Initializes a new instance of the SkiaDataGrid class. |
SkiaTabs
Design-time wrapper that creates a Skia Tabs component on the Skia host
| Member | Kind | Description |
|---|---|---|
SkiaTabs() | Method | Initializes a new instance of the SkiaTabs class. |
Designer Support
Design-time integration and property wrappers.
SkiaControlDesigner
| Member | Kind | Description |
|---|---|---|
override void Initialize(IComponent component) | Method | Gets or sets the initialize. |
SkiaHostControlDesigner
Design-time designer for SkiaHostControl providing smart-tag verbs.
| Member | Kind | Description |
|---|---|---|
override DesignerActionListCollection ActionLists | Property | Gets or sets the action lists. |
SkiaHostControl HostControl | Property | Gets or sets the host control. |
SkiaComponentPropertyWrapper
Wraps a SkiaComponent to expose its NodeProperties in the Visual Studio PropertyGrid. Implements ICustomTypeDescriptor so the VS designer can display editable properties. Edits are applied back to the component (public setters) and reported through the change callback.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets or sets the component. |
string ComponentTypeName | Property | Gets or sets the component type name. |
string ComponentName | Property | Gets or sets the component name. |
SkiaComponentPropertyWrapper(SkiaComponent component, Action<SkiaComponent> onChanged = null) | Method | Initializes a new instance of the SkiaComponentPropertyWrapper class. |
override string ToString() | Method | Gets or sets the to string. |
void Dispose() | Method | Gets or sets the dispose. |
SkiaMultiComponentWrapper
PropertyGrid wrapper for multiple selected components: exposes geometry plus the NodeProperties common to every selected component; edits apply to all of them.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<SkiaComponent> Components | Property | Gets or sets the components. |
int Count | Property | Gets or sets the count. |
SkiaMultiComponentWrapper(IReadOnlyList<SkiaComponent> components, Action<IReadOnlyList<SkiaComponent>> onChanged = null) | Method | Initializes a new instance of the SkiaMultiComponentWrapper class. |
override string ToString() | Method | Gets or sets the to string. |
void Dispose() | Method | Gets or sets the dispose. |
SkiaNodePropertyDescriptor
Property descriptor for a single SkiaComponent NodeProperty. Supports enum choices, simple type conversion, and SKColor hex editing.
| Member | Kind | Description |
|---|---|---|
SkiaNodePropertyDescriptor(string name, Type type, Func<object> getter, Action<object> setter, string category, string description, string[] choices = null) | Method | Initializes a new instance of the SkiaNodePropertyDescriptor class. |
override Type ComponentType | Property | Gets or sets the component type. |
override bool IsReadOnly | Property | Gets or sets the is read only. |
override Type PropertyType | Property | Gets or sets the property type. |
override string Description | Property | Gets or sets the description. |
override string Category | Property | Gets or sets the category. |
override bool CanResetValue(object component) | Method | Gets or sets the can reset value. |
override void ResetValue(object component) { } | Method | Gets or sets the reset value. |
override bool ShouldSerializeValue(object component) | Method | Gets or sets the should serialize value. |
override object GetValue(object component) | Method | Gets or sets the get value. |
override void SetValue(object component, object value) | Method | Gets or sets the set value. |
override TypeConverter Converter | Property | Gets or sets the converter. |
SkiaColorConverter
TypeConverter for SKColor: edits colors as "#AARRGGBB" hex strings in the PropertyGrid.
| Member | Kind | Description |
|---|---|---|
override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) | Method | Gets or sets the can convert from. |
override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) | Method | Gets or sets the can convert to. |
override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) | Method | Gets or sets the convert from. |
override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) | Method | Gets or sets the convert to. |
static SKColor Parse(string text) | Method | Parses "#AARRGGBB", "#RRGGBB", or a named color; invalid input returns transparent. |
static string Format(SKColor color) | Method | Formats a color as "#AARRGGBB". |
SkiaEnumConverter
TypeConverter that provides a dropdown list of string choices.
| Member | Kind | Description |
|---|---|---|
SkiaEnumConverter(string[] values) | Method | Initializes a new instance of the SkiaEnumConverter class. |
override bool GetStandardValuesSupported(ITypeDescriptorContext context) | Method | Gets or sets the get standard values supported. |
override bool GetStandardValuesExclusive(ITypeDescriptorContext context) | Method | Gets or sets the get standard values exclusive. |
override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) | Method | Gets or sets the get standard values. |