WinForms Controls v22.1 Released

Announcements Forum

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

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

Detailed Update List


  • Fixed a bug where programmatically changing focus between links hosted on different tool bars might not properly set focus on the new tool bar.


  • Added an Editor Views - Synchronization QuickStart to demonstrate synchronizing the scroller and splitter of one editor instance with another.
  • Added support to customize drag/drop text when dragging within the same editor.
  • Added new non-generic interfaces ITaggerBase (implemented by ITagger<T>) and ITagAggregatorBase (implemented by ITagAggregator<T>) for a type-safe way of working with these types when the type of ITag is not relevant.
  • Added ITaggerBase.NotifyTagAggregatorAttached and ITaggerBase.NotifyTagAggregatorDetached which are called when an instance of TagAggregatorBase<T> attaches to or detaches from a tagger.
  • Added CanKeepCaretVisible property to ScrollDownAction and ScrollUpAction to control if the caret should optionally be moved to remain visible after scrolling. Corresponding overloads added to IEditorScrollViewer.ScrollDown and ScrollUp methods.
  • Added various IQuickInfoSession.Placement* properties that return values if the placement-oriented Open method was used to open the session. Updated the IntelliPrompt Quick Info QuickStart to demonstrate repositioning the QuickInfoSession.PlacementRectangle property for these kinds of sessions as the view is scrolled.
  • Improved the vertical scrollbar behavior when dealing with collapsed regions.
  • Improved the positioning logic for IntelliPrompt popups.
  • Improved the logic for the EditorSnapshotChangedEventArgs.TypedText property to remove whitespace that might have been added to pad a typed character for proper virtual space positioning.
  • Updated drag-and-drop behavior to support customization through DragEventArgs.Effect.
  • Updated drag-and-drop to scroll horizontally when the drop caret is near the edges of the control.
  • Updated drag-and-drop to remove possible unnecessary scrolling following a drop.
  • Updated feedback when dragging to only show the 'Copy' or 'Move' indicator over valid drop locations.
  • Updated Single-Line Mode QuickStart to include a formula example with alternate style for nested parenthesis.
  • Updated TagAggregatorBase<T> so it no longer calls Dispose when detaching from taggers which implement IDisposable. Taggers can use the new ITaggerBase.NotifyTagAggregatorDetached method to determine the most appropriate time to dispose of the tagger.
  • Updated IntelliPrompt to show drop shadows only when user preference for drop shadows is enabled.
  • Updated the SyntaxEditor.SuspendCaretBlinking and ResumeCaretBlinking methods to support caret display when focus is not in the editor.
  • Updated the IntelliPrompt repositioning logic to better handle when a session is closed due to being scrolled out of view.
  • Updated the MoveSelectedLinesDownAction logic to prevent unexpected results when at the document end.
  • Updated outlining logic to ensure that a collapsed outlining node expands if its end is removed and it becomes an open node.
  • Fixed an issue where automatic vertical scrolling caused by dragging near the edge of a view might reset the selected text.
  • Fixed an issue that prevented dropping text around block selections.
  • Fixed an issue where IntelliPrompt may not show within a bottom split view.
  • Fixed a bug where setting HighlightingStyle.BorderColor to null in styles with a border could trigger an exception when rendering.
  • Fixed a bug where a code snippet with an $end$ defined immediately after a field may not position the caret properly when Enter was pressed after editing the field.
  • Fixed a memory leak that might occur when closing IntelliPrompt popups.
  • Fixed a bug where IntelliPrompt popups and/or their drop shadows might appear behind the form hosting the editor control in certain situations.
  • Fixed a bug where an exception might be thrown when closing a form if IntelliPrompt sessions were open.
  • Fixed a bug where exported RTF and HTML didn't account for a customized plain text foreground.
  • Fixed a bug where calling IEditorView.InsertSurroundingText from witin a SyntaxEditor.DocumentTextChanged event handler could result in an incorrect final selection.
  • Fixed a bug where typing in a block selection after a collapsed outlining node could lead to an incorrect selection range.
  • Fixed a bug where a collapsed region without a related intra-text spacer at document end could throw an exception.
  • Fixed a bug where the selection wasn't always correct after an indent for a block selection that included virtual space.
  • Fixed a bug where a block selection that begins with no characters selected in the first line wouldn't copy the text properly.
  • Fixed a bug where pressing Enter with a block selection at the document end could incorrectly delete characters.
  • Fixed a bug where deleting a collapsed outlining node that had its quick info open could throw an exception.
.NET Languages Add-on
  • Added a Go To Definition QuickStart to demonstrate using an IResolver to navigate to the source of a reference.
  • Updated the C# parser grammar to support C# 8.0 syntax.
  • Updated the C# outliner to create outlining nodes for code-level constructs such as block statements. This feature can be disabled by setting the CSharpOutliner.CanOutlineCodeLevelConstructs property to false.
  • Updated the SourceFileLocation property to be populated on all ITypeMemberDefinition objects from source, and added it to IParameterDefinition and IVariableDefinition objects loaded from source. This allows for Go To Definition functionality to be implemented for all kinds of resolved objects.
  • Updated the DocumentationProvider.ToString method to return the raw XML documentation comment text.
  • Updated CSharpContextFactory and VBContextFactory to better handle target expression resolution when positioned immediately after a significant token.
  • Fixed a bug where IntelliPrompt completion displayed incorrect results in VB array initializers.
Web Languages Add-on
  • Updated the JavaScript parser grammar to support ECMAScript 2021 (12th Edition) syntax.
  • Updated JsonSyntaxLanguage with a new constructor overload for whether the lexer supports JavaScript style comments, as in Microsoft's JSONC variant.
  • Updated the XML context factory to return an AST node for the target element, if the AST is in sync with the tokens that generated the target element.
Python Language Add-on
  • Updated the parser grammar to support Python v3.9.5 syntax.
  • Updated the resolver to support namespace packages.
  • Removed support for Python v2.x syntax, which is well past end of life.
  • Fixed an issue where an aliased dotted import name might not resolve correctly.


  • Updated the ScrollBar context menu to be displayed on right click release instead of press.


  • Validated .NET 6 compatibility.
  • Added .NET 5 variations of the product assemblies to the NuGet feeds.
  • Added .NET Core 3.1 and .NET 5+ designer support for Visual Studio 2022 and updated the 'About...' designer action to open product-specific online documentation.

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