Skip to content

ModernFormsNext v1.6.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 17:34
· 320 commits to master since this release

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:

  • ModernFormsNext
  • ModernFormsNext.Templates
  • ModernFormsNext.WindowKit
  • ModernFormsNext.WindowKit.Backend
  • ModernFormsNext.WindowKit.Backend.Windows

Added

  • Added GroupBox, a SkiaSharp-rendered container control for visually grouping related child controls.
  • Added GroupBox caption 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, 1 mode.
  • Added Switch activation and interaction options, including automatic toggling, drag support, drag-time value updates, pointer-position activation, cycle activation, keyboard activation, IsToggled, Value, Toggled, and ValueChanged.
  • Added Switch visual 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 Switch renderer support for smoother rounded fills/borders and direct color interpolation for three-state transitions so -1 -> 1 animations no longer flash through the neutral state color.
  • Added gradient text rendering support through Control.TextBrush and 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.WindowKit and 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.0 to 1.6.0.
  • Updated the packaged application template to reference ModernFormsNext 1.6.0.
  • Updated template and getting-started documentation examples to use ModernFormsNext 1.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, and Timer.

Fixed

  • Fixed three-state Switch animated color transitions so direct -1 to 1 changes blend between the source and target states instead of deriving colors from the middle thumb position.
  • Fixed jagged-looking Switch rounded fills and borders by drawing solid rounded fills directly and adjusting border radii for stroke width.
  • Fixed GroupBox content 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.0 from 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.
  • Switch bitmap icon properties store SKBitmap references 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.
  • GroupBox shadow customization APIs are present, but ControlGallery keeps shadows disabled while the rendering behavior is refined.