ModernFormsNext v1.6.0
Full Changelog: v1.5.0...v1.6.0
[1.6.0] - 2026-06-27
Compared with [1.5.0], this release adds more WinForms-compatible controls and dialog APIs while expanding the framework's custom rendering surface. It introduces GroupBox, a highly customizable Switch, printing dialogs and print preview infrastructure, gradient text rendering, and template/package hygiene updates for the next published package set.
Published packages:
ModernFormsNextModernFormsNext.TemplatesModernFormsNext.WindowKitModernFormsNext.WindowKit.BackendModernFormsNext.WindowKit.Backend.Windows
Added
- Added
GroupBox, a SkiaSharp-rendered container control for visually grouping related child controls. - Added
GroupBoxcaption customization, including caption font size, foreground color, background color, background brush/gradient, border color, border width, border radius, content background color, content background brush/gradient, border styling, AutoSize support, layout-aware display rectangle behavior, and accessibility exposure. - Added
Switch, a fully custom-rendered switch control with two-state Boolean mode and three-position-1,0,1mode. - Added
Switchactivation and interaction options, including automatic toggling, drag support, drag-time value updates, pointer-position activation, cycle activation, keyboard activation,IsToggled,Value,Toggled, andValueChanged. - Added
Switchvisual customization for track color/brush/gradient, thumb color/brush/gradient, borders, corner radii, thumb size/inset, built-in icons, custom bitmap icons, icon colors, animation duration, animation speed, and easing. - Added
Switchrenderer support for smoother rounded fills/borders and direct color interpolation for three-state transitions so-1 -> 1animations no longer flash through the neutral state color. - Added gradient text rendering support through
Control.TextBrushand renderer plumbing so controls can draw text with solid, linear, radial, sweep, or glass brush content where supported. - Added printing dialog compatibility APIs, including
PrintDocument,PrintDialog,PageSetupDialog,PrintPreviewDialog,PrintPreviewControl,PrinterSettings,PageSettings, paper/printer model types, print events, and platform conversion helpers. - Added platform print dialog service contracts in
ModernFormsNext.WindowKitand a Windows backend implementation for the system print dialog path. - Added ControlGallery pages and examples for
GroupBox,Switch, gradient text, and printing workflows.
Changed
- Bumped the shared package version from
1.5.0to1.6.0. - Updated the packaged application template to reference
ModernFormsNext1.6.0. - Updated template and getting-started documentation examples to use
ModernFormsNext1.6.0. - Improved template package build hygiene so template source files are packaged as content without being compiled into the template package assembly.
- Improved compatibility behavior for component-style types such as
ImageList,NotifyIcon, andTimer.
Fixed
- Fixed three-state
Switchanimated color transitions so direct-1to1changes blend between the source and target states instead of deriving colors from the middle thumb position. - Fixed jagged-looking
Switchrounded fills and borders by drawing solid rounded fills directly and adjusting border radii for stroke width. - Fixed
GroupBoxcontent fill clipping so content backgrounds and gradients stay inside the framed border.
Removed
- No public APIs were removed in this release.
Compatibility Notes
- This release is backward-compatible with
1.5.0from a public API perspective. It is a minor release because it adds new public framework API. - The printing surface includes both ModernFormsNext-rendered dialogs and a system-dialog path. The system path currently depends on backend support; the Windows backend provides the first implementation.
Switchbitmap icon properties storeSKBitmapreferences and do not take ownership of them. Keep assigned bitmaps alive while the control can render them and dispose them after they are no longer assigned.GroupBoxshadow customization APIs are present, but ControlGallery keeps shadows disabled while the rendering behavior is refined.