WinForms Controls v21.1 Released

Announcements Forum

Posted 3 years ago by Actipro Software Support - Cleveland, OH, USA

A major new version of the Actipro WinForms controls is now available.

Detailed Update List


  • Added IBarRenderer.DrawCommandLinkInCustomizeList to support rendering BarCommandLink within a user-drawn ListBox.
  • Improved processing of mnemonic key for BarCommandLink and auto-generated tool tip text.
  • Improved performance of BarManager rendering related to resolving the IBarControl containing a BarCommandLink.
  • Removed BarManager.PopupAnimation which has not been supported since Windows XP.


  • Added the DockManager.ExecuteTabbedMdiWindowContextMenuItem method which can be used to execute the logic of a context menu item for a specified TabbedMdiWindow.
  • Improved drop target rendering when dragging TabbedMdiWindow.
  • Updated floating document windows to not always appear on top of the main Form.


  • Added NavigationBar.MoveNavigationPaneDown and NavigationBar.MoveNavigationPaneUp which can be used adjust the position of a NavigationPane. Use NavigationBar.CanMoveNavigationPaneDown and NavigationBar.CanMoveNavigationPaneUp to test if the corresponding method is valid.


  • Added support for semi-transparent text foregrounds.
  • Added completion item inline descriptions that can render optional text along the right side of a completion list item. Updated the .NET Languages Add-on's Completion Override QuickStart to demonstrate the new feature.
  • Added a new IUnusedRegionTag that can be applied to ranges of unused code that should be rendered using partial transparency.
  • Added a new Unused Regions QuickStart to demonstrate the new unused regions feature.
  • Added features so the macro recording mechanism can be customized. Updates include a new IMacroAction interface, making our default MacroRecording object public, adding a virtual SyntaxEditor.CreateMacroRecording method, and more.
  • Added the SyntaxEditor.ViewActionExecuting event that is raised immediately before an edit action occurs within an editor view, allowing the action to be canceled.
  • Added the ICodeSnippetTemplateSessionEventSink.NotifySessionOpening method, allowing for code snippet declaration default text customization prior to text insertion.
  • Added the The SyntaxEditor.CanPointerWheelScrollUnfocusedViews property that can be set to false to prevent unfocused editor views from mouse wheel scrolling.
  • Added the CompletionFilter.KeyGesture property and support for key gestures to toggle filter UI buttons and tabs. Updated the Completion List Filtering QuickStart to demonstrate the new feature.
  • Added a new Adornments Highlight Range QuickStart to demonstrate how to manually tag any range of text with a custom classification and highlighting style.
  • Added support for a transparent plain text background.
  • Improved squiggle line height to scale with font size.
  • Improved exception reporting for an invalid dynamic lexer regular expression pattern range.
  • Improved high-DPI layout of the search overlay pane.
  • Improved printer view layout logic.
  • Improved the IOutliningManager.CollapseToDefinitions logic.
  • Improved the line commenter logic for determining the selection after a change.
  • Improved the token-caching mechanism.
  • Improved the logic for selection updates when text ranges are collapsed.
  • Improved the logic for selection updates as a result of text changes.
  • Improved the indentation guide display logic for scenarios with blank lines.
  • Improved the print dialog to support the Selection page range option.
  • Improved the copy/cut line logic when on the last view line.
  • Improved the line number margin to support bold/italic fonts.
  • Improved the scrolling experience when selecting in virtual space.
  • Improved outlining margin rendering.
  • Improved word wrap logic.
  • Updated the maximum document TabSize to 32.
  • Updated a quick info session to close when a pointer wheel is scrolled.
  • Updated a quick info session to close when its target SnapshotRange is changed to zero-length while the session is open.
  • Updated the scroll distance when clicking on a scrollbar track.
  • Updated clicks in various view locations to ensure the containing view is focused.
  • Updated clicks in the outlining margin to select the view line.
  • Updated how outlining nodes expand in response to text changes around them.
  • Updated the trigger logic for an auto-corrector.
  • Updated Esc key handling while incremental search mode is active to deactivate the mode, but not collapse the selection.
  • Updated the left/right selection adjustment edit actions to support virtual space without having to hold Alt when in Block selection mode.
  • Updated the EditorSnapshotChangingEventArgs/EditorSnapshotChangedEventArgs.TypedText properties to no longer require a single operation. As a result, incremental search and parameter info can now function with block and multiple selections.
  • Updated text changes that retain selection to not scroll the editor view to the caret.
  • Updated clicks in a view to ensure the parent Form is activated.
  • Refactored how text offsets are mapped to view character indices and vice versa.
  • Refactored how text selection over a collapsed outlining node is handled.
  • Refactored how SyntaxEditor.DocumentTextChanged events are raised to ensure that they occur in snapshot version order.
  • Increased the maximum outlining node depth.
  • Fixed a bug in the handling of a SyntaxEditor.HighlightingStyleRegistry property change.
  • Fixed a bug where multiple sequences of right-to-left ranges of text in a view line might not render correctly.
  • Fixed a bug where an exception could be thrown in a certain scenario when programmatically collapsing outlining nodes.
  • Fixed a bug where surrogate pair characters may not render properly.
  • Fixed a bug where dragging and dropping text over a view splitter was allowed.
  • Fixed a bug where clicking in the number margin for the view's last visible line would scroll the view.
  • Fixed a bug where deleting a zero-length selection at the end of a line could also delete a collapsed outlining node on the next line.
  • Fixed a bug where typing at the start of an outlining node may not shift offsets properly.
  • Fixed a bug where certain edits around collapsed outlining nodes could lead to an invalid state.
  • Fixed a bug where the mouse cursor may not be correct after opening the search overlay pane.
  • Fixed a bug where the selection may be incorrect following certain block-based text changes.
  • Fixed a bug where the IME composition window might appear in the wrong location.
  • Fixed a bug where the IME composition helper could throw an exception in a certain scenario where a SyntaxEditor was disposed.
  • Fixed a bug where the drag/drop caret could show in multiple editor views.
  • Fixed a bug where the line number margin might not measure correctly.
  • Fixed a bug where incremental search could be deactivated by an auto-correct.
  • Fixed a bug where word-based selection around a collapsed outlining node could expand the node.
  • Fixed a bug where resizing a view could lead to some adornments rendering in the wrong location.
  • Fixed a bug with the rendering of an open collapsed outlining node at the end of a document.
  • Fixed a bug with how the view line maximum width cache is updated.
  • Fixed a bug with unused regions within a collapsed region.
  • Fixed a bug with collapsed region quick info indentation.
  • Fixed a bug in the hit-testing logic.
.NET Languages Add-on
  • Added optional extensions to load binary assembly reflection data with Roslyn, which wasn't available in prior WinForms versions.
  • Added C# extern alias support via the new IProjectAssemblyReference.Aliases collection.
  • Improved probing logic for system assembly XML DocComment files.
  • Improved enumeration of IBinaryAssemblyReferenceCollection to use thread locking.
  • Improved handling of FileNotFoundException when loading binary assemblies.
  • Updated the IntelliPrompt completion list's filters to support key gestures.
  • Updated the resolver to better handle a certain lambda expression scenario.
  • Fixed a bug where an outer type's members could incorrectly appear in the IntelliPrompt completion list in a certain scenario.
Python Language Add-on
  • Updated the IntelliPrompt completion list's filters to support key gestures.
  • Fixed a bug in the resolver related to packages and modules.


  • Updated MarkupLabel's font-family style attribute to support several generic font family names.
  • Updated ScrollBar to ensure that its thumb mouse capture is released if the control becomes disabled.
  • Updated CanvasControl's text rendering logic to ensure fallback fonts don't increase line height.


  • Validated .NET 5 compatibility.
  • Added NuGet packages for .NET Core 3.1 variations of the assemblies.
  • Realigned API namespaces for clarity and consistency with other platforms. Please see the Conversion documentation topic for details on porting your code to the new namespace references.

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.

Actipro Software Support