WinForms Controls v23.1 Released

Announcements Forum

Posted 1 year ago by Actipro Software Support - Cleveland, OH, USA

A major new version of the Actipro WinForms controls is now available.  It contains updates across all our WinForms controls to support high DPI environments and add new dark color schemes.  .NET version compatibility was modernized to the latest supported .NET versions, and a large number of other various feature additions and bug fixes were made to all products.

NOTE:  Anyone with a DPI-aware application needs to read our v23.1 conversion topic and thoroughly test. It could be that you were already compensating for lack of DPI-awareness that we now handle, so you don't want to do something like scale our controls if we're already scaling them (causing double scaling).

Detailed Update List


  • Added MetroStatusBarRenderer that supports MetroLight and MetroDark color schemes.
  • Added BarRenderer.ApplyColorSchemeToBarCustomControlLink protected method to configure a custom to render consistently with the current color scheme.
  • Improved BarCustomizeForm to support resizing with a responsive layout.
  • Improved all implementations of IStatusBarRenderer to initialize colors from new "StatusBar*" properties on the configured color scheme instead of using system colors.
  • Improved Office2003BarRenderer to default to Windows XP Blue color scheme.
  • Improved how VisualStudio2002BarRenderer determines if a menu uses discrete icons for check state.
  • Improved menu separator rendering by moving indentation logic from BarMenuControl to VisualStudio2002BarRenderer.
  • Replaced MetroLightBarRenderer with MetroBarRenderer that supports MetroLight and MetroDark color schemes.


  • Added DockGuideStyle.Modern that replaces the now deprecated Raised and Sunken styles with a modern look that supports DPI-aware custom color schemes.
  • Added TabStripRenderer.AreImagesVisible property to control visibility of images on tabs for all renderers.
  • Added new VisualStudioTabStripRenderer class as common base for Visual Studio-style ToolWindow and DocumentWindow implementations of TabStripRenderer with consolidated functionality.
  • Improved default context menus to support the current color scheme and improve rendering at high DPI settings.
  • Improved dragging a docked ToolWindow to a floating position by setting the initial floating size the same as the docked size.
  • Improved positioning when floating a ToolWindow for the first time by placing the ToolWindow on the same monitor as the dock site instead of the primary monitor.
  • Improved translucent dock previews to use colors based on the current color scheme.
  • Replaced MetroLightDockRenderer with MetroDockRenderer that supports MetroLight and MetroDark color schemes.
  • Replaced MetroLightDocumentWindowTabStripRenderer with MetroDocumentWindowTabStripRenderer that supports MetroLight and MetroDark color schemes.
  • Replaced MetroLightToolWindowTabStripRenderer with MetroToolWindowTabStripRenderer that supports MetroLight and MetroDark color schemes.
  • Improved Office 2003-based renderers to default to Windows XP Blue color scheme.
  • For .NET Framework targets, replaced ContextMenu usage with the more modern ContextMenuStrip including the TabbedMdiWindowContextMenuEventArgs.DefaultContextMenu property type.
  • Fixed a previously floated DocumentWindow not restoring to the same size when re-floated.
  • Fixed TabStripTab size not updating after a change in selection triggered a change in font (e.g., using a bold font for selected tabs).
  • Fixed TabStripTabContainer in right-to-left environment rendering 1 pixel greater than the configured TabStripTabOffset.
  • Fixed issue with several TabStripRenderer implementations not properly clipping overlapped tabs.
  • Fixed TabStripRenderer.ResetAll method not resetting TabStripRenderer.CanAutoScaleImages property.
  • Fixed VisualStudio2002ToolWindowTabStripRenderer and VisualStudio2002DocumentWindowTabStripRenderer incorrectly rendering tab separators in some scenarios.
  • Fixed a NullReferenceException that might thrown in rare scenarios when displaying a TabbedMdiWindow in the MDI document area.
  • Fixed an issue where starting to splitter-resize an auto-hidden tool window opened via tab hover could close the auto-hide popup.


  • Replaced MetroLightNavigationBarRenderer with MetroNavigationBarRenderer that supports MetroLight and MetroDark color schemes.
  • Improved word-wrapped view lines to indent under their primary view line based on a new configurable SyntaxEditor.WrappedLineIndentAmount property.
  • Improved Office2003NavigationBarRenderer to default to Windows XP Blue color scheme.
  • Improved NavigationBarRenderer.NavigationPaneButtonHeight by changing the default value from 32 to 38 to better accommodate 32x32 images.


  • Added MetroSyntaxEditorRenderer that supports MetroLight and MetroDark color schemes.
  • Added support for CommonImageSet.MetroDark which will use variants of common images that are suitable for a dark application theme.
  • Added ITextSnapshot.GetWordText and GetWordTextRange method overloads that accept a TextOffsetAffinity argument.
  • Improved NavigableSymbolSelector to support dark color scheme.
  • Improved word-wrapped view lines to indent under their primary view line based on a new configurable SyntaxEditor.WrappedLineIndentAmount property. Updated the Word Wrap QuickStart to show off the new property.
  • Improved TextSnapshot.TextRangeToPositionRange performance for zero-length text ranges.
  • Improved keyboard-based context menu activation to display below the caret and respond to Shift+F10 shortcut.
  • Improved the logic of the move selected lines up and down commands.
  • Improved mouse handling on IntelliPrompt popups.
  • Updated the visible whitespace rendering logic to include non-breaking space characters.
  • Fixed an issue where text rendering may be incorrect on extremely long lines.
  • Fixed an issue where regex character classes ending in a hyphen were sometimes parsed as an incomplete range.
  • Fixed an issue where a selection-based search scope range may show up incorrectly after performing certain document changes while the search overlay pane is visible.
  • Fixed an issue where CollectionTagger.FindNext didn't find a match at document end when searching backwards and wrapping.
  • Fixed an issue where CanvasDrawContext.DrawRoundedRectangle and FillRoundedRectangle would not render rounded corners if the pen color was semi-transparent.
  • Fixed an issue where CanvasDrawContext.FillRoundedRectangle would not properly fill the background color when using colors without transparency.
.NET Languages Add-on
  • Updated how an internal TypeReferenceCollection class initializes several properties for better multi-thread scenario support.
  • Fixed an issue where the resolver didn't always crawl up namespace declarations properly.
  • Fixed an issue where the VB resolver didn't properly resolve For Each statement variables that were declared outside of the loop.
  • Fixed possible exception when accessing indexed properties on ProjectAssemblyReferenceCollection in multi-threaded environments.
  • Added attributes to BinaryAssemblyReferenceResolver to mark as obsolete any methods that are not supported on a particular framework or platform.
Python Language Add-on
  • Updated the Docstring property of the reflection definition types to use a beautified version of the string instead of raw string literal text.


  • Refactored WizardPage layout logic.
  • Improved IWizardRenderer to implement IUIRenderer interface.
  • Fixed the designer not serializing some WizardPage properties during save which, when missing, could result in child controls not initializing to the proper positions on the page.
  • Fixed changes to WizardPage.IsInteriorPage not updating the layout of the currently displayed page until the next layout cycle.


  • Validated .NET 7 compatibility.
  • Added MetroDark color scheme.
  • Added MetroScrollBarRenderer that supports MetroLight and MetroDark color schemes.
  • Added IWindowsColorScheme interface that will replace most references to WindowsColorScheme.
  • Added IWindowsColorScheme.GetKnownColor method that can return a scheme-appropriate color for supported known colors and should be used instead of SystemColors to allow for proper color adaptation on dark schemes.
  • Added IUIRenderer.ColorScheme property to enable all renderers to derive appropriate colors from a color scheme.
  • Added MarkupLabel.LinkColor and MarkupLabel.ActiveLinkColor properties to determine the default color of link elements when explicit colors are not defined by the anchor element.
  • Improved high DPI support.
  • Removed OS-level support to detect Windows XP color schemes. Windows 7 and earlier will report WindowsClassic color scheme. Windows 8 and newer will report MetroLight color scheme.
  • Improved scenarios where some controls might stop painting properly if exceptions were raised while painting was suspended.
  • Updated the argument names of DrawingHelper.DrawRoundedRectangle and FillRoundedRectangle from offsetX/offsetY to radiusX/radiusY to better communicate the expected values and improved rendering of both methods.
  • Updated all assemblies to be code-signed.
  • Updated .NET Framework 4.0 targets to .NET Framework 4.6.2 since it is the most recent supported version of .NET Framework.
  • Updated .NET 5 targets to .NET 6 since .NET 5 is out of support. Users can continue to use .NET Core 3.1 targets for .NET 5 applications.

About WinForms Controls


All WinForms control licenses automatically include a free subscription for a year of free upgrades to any new versions that are released. At the end of the year, you may renew your license for another year to keep the free upgrade benefits active.

You can purchase our WinForms controls individually if you wish however you have the option to purchase all of them in the WinForms Studio bundle. Purchasing the bundle saves over purchasing all the controls individually. In addition, if you own a WinForms Studio license, you are automatically eligible to receive free licenses for any new control products added to WinForms Studio that come out within your year subscription period.

Evaluation Download

You can download an evaluation of all our WinForms controls from this page:

Free Upgrades

If you own an older WinForms controls version and would like to upgrade to this latest version, please click the request a free upgrade link on your organization account page's 'Purchases and Licenses' tab. The link will appear there if your upgrade eligibility is active.

[Modified 1 year ago]

Actipro Software Support