WinForms Controls v24.1 Released

by Avatar Bill Henning (Actipro)
Tuesday, February 27, 2024 at 3:40pm

This version adds a new Visual Studio Blue renderer, makes major improvements to SyntaxEditor’s ability to support light and dark themes, improves the SyntaxEditor .NET Languages Add-on, and much more.

See the related announcement post for the detailed list of enhancements and updates.

Download Buy Now

Here’s a look at some of the new features.

Renderer Updates

Some of the renderers for the various WinForms controls have been refactored with a more modern appearance, such as with glyphs for the status bar gripper and menu item checks.

The new Visual Studio Blue theme

A new Visual Studio Blue renderer has been added that mimics the look of the Visual Studio 2022 Blue theme.

SyntaxEditor Light and Dark Themes

It’s easier than ever to support switching between light and dark themes in SyntaxEditor.  A new class helps orchestrate updating SyntaxEditor UI elements, highlighting styles, and icon sets when toggling between light and dark themes.

A SyntaxEditor light theme (above) and dark theme (below)

All Actipro-provided syntax languages now include both light and dark highlighting styles, and we automatically convert many popular light-themed colors to appropriate dark-themed colors for custom languages that have yet to be updated with explicit dark styles.

SyntaxEditor Highlighting Style Updates

The current line number is now highlighted in a different style than other line numbers, so the default line number colors have been updated to better suit this feature.

Multiple carets and current line highlighting

When using multiple carets while editing, the primary caret now has a more distinctive appearance than secondary carets.

Several other highlighting styles have also had their default values tweaked.

SyntaxEditor .NET Languages Add-on Updates

The C# parser grammar has been updated to support C# 9.0 syntax, including everything from top-level statements to records and improved pattern matching.

A C# document with top-level statements

Resolver support has been improved for local functions.

Documentation comments display in IntelliPrompt now supports <para> and <br/> tags for paragraph and line breaks.

Sample Browser

The Sample Browser application has been updated to use an SDK-style project and target .NET 6.

WinForms Controls v23.1 Released

by Avatar Bill Henning (Actipro)
Tuesday, February 7, 2023 at 10:01pm

This version 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.

SyntaxEditor with the Metro Dark color scheme

See the related announcement post for the detailed list of enhancements and updates.

Download Buy Now

Here's a look at some of the new features.

DPI Awareness

Historically, high DPI support in WinForms has been a mixed bag. Newer Windows API’s and recent updates to .NET have greatly improved the scenario, but high DPI support is still not free and developers must put in the effort to ensure proper DPI awareness.

How numerous Actipro WinForms Controls render in 200% DPI with the v23.1 updates

With our WinForms Controls v23.1 updates, we’ve done our part to make sure our controls can render correctly in high DPI environments. Some of the changes include:

  • Scale font sizes.
  • Scale control dimensions.
  • Scale glyphs.
  • Scale raster images using optimal technique for the scale factor (e.g., pixel doubling at 200% dpi).
  • Scale built-in dialogs.
  • New vector-based common images for SyntaxEditor IntelliPrompt.
  • New DPI-friendly dock guides for Docking.
  • New DpiHelper class to simplify scaling based on DPI.
  • Updated Sample Browser to be DPI-aware.

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).

Dark Color Scheme

We’ve also revamped how all renderers determine which colors are being used so we can better support a dark color scheme. New “Metro Dark” renderers are available for all our products and can be used to better integrate with dark-themed applications.

.NET Compatibility Updates

In regards to .NET version compatibility, we have:

  • Validated that v23.1 works great with .NET 7.
  • Updated our .NET 5 targets to .NET 6, since that is the lowest supported version of .NET per Microsoft.
  • Updated our .NET Framework 4.0 targets to .NET Framework 4.6.2, since that is the lowest supported version of .NET Framework per Microsoft.

WPF Controls v22.1.3 Maintenance Release

by Avatar Bill Henning (Actipro)
Thursday, September 8, 2022 at 9:04pm

This version makes a number of SyntaxEditor improvements including the abililty to select the next occurrence of selected text, much faster performance with complex IntelliPrompt completion lists, indented word-wrapped lines, and more.  Other updates have been made to Docking/MDI, Editors, Grids, Ribbon, Themes, and the Shared Library.

See the related announcement post for the detailed list of enhancements and updates.

Download Buy Now

Here's a peek at a couple of the new features...

Docking/MDI

Tabbed MDI Float All

A new "Float All" menu item has been added to documents in tabbed MDI. 

The new menu item (left) and the result of clicking it (right)

When clicked the documents float together into a new MDI window that can be dragged as a group to another monitor.

SyntaxEditor

Select Next Occurrence

The select next occurrence feature provides a quick way to select additional instances of the selected text.  Say our caret is in the middle of the "using" keyword.  Pressing Ctrl+D (the hotkey for Select Next Occurrence) will select the current word since no selection was yet available.

A sequence of screenshots showing the Select Next Occurrence feature

After pressing Ctrl+D once a selection is made, it will add another selection of the next instance of the selected text.  In the bottom screenshot in the sequence above, I've pressed Ctrl+D several times so that all instances of "using" are selected.

SyntaxEditor supports multiple carets and selections, and at this point, any typing will update all the selected instances at the same time.

Indented Word-Wrapped Lines

Another great new feature is that word-wrapped lines will now be indented by a couple characters, as long as there is sufficient editor width to do so.

The wrapped portion of line 11 is indented

In the screenshot, you can see how the word-wrapped portion of line 11 is indented a couple characters beyond line 11's anchor indent level.  Indentation of wrapped lines makes it easier to read them.

The indent amount is fully configurable via a new SyntaxEditor.WrappedLineIndentAmount property, whose default is 2.  Set it to 0 to indent to the same amount as the anchor line with no additional indent.  Or set it to -1 to always left-align wrapped lines within the text area (no indent at all).

Themes

Theme Designer Base Color Finder

The Theme Designer has a handy Base Color Finder tool that can find a color family that will match your brand's primary color.  Previously this only worked well for light themes.  Updates have been made so that dark themes are also supported.

The Base Color Finder working on a dark theme

UI Controls v22.1 Maintenance Releases

by Avatar Bill Henning (Actipro)
Wednesday, June 1, 2022 at 6:56pm

These maintenance releases for our WPF, WinForms, and UWP Controls focus on making many minor improvements across all the products.  In addition, WPF's WindowChrome now allows it to render a backdrop with Mica or Acrylic materials when on a Windows 11 system.

A WPF Window with a WindowChrome Acrylic backdrop applied

See the related announcement posts for the detailed lists of enhancements and updates:

Download Buy Now

WPF Controls v22.1 Released

by Avatar Bill Henning (Actipro) - 1 comment
Tuesday, December 14, 2021 at 4:03pm

This version includes new controls, new WindowChrome features for Windows 11, many improvements for SyntaxEditor and its add-ons, updates to nearly all WPF products, and now includes .NET 5 assemblies in the NuGet packages with validated .NET 6 compatibility.

See the related announcement post for the detailed list of enhancements and updates.

Download Buy Now

Here's a look at some of the new features.

Shared Library

User Prompts

Added a rich API that can create modern, themed dialogs for anything from simple messages and confirmations, to more advanced scenarios like exception notification dialogs or file copy dialogs.

An example exception dialog with multiple optional sections, all of which can be configured to any custom content

We even include a ThemedMessageBox object with static methods that match the native WPF MessageBox API.  Our themed version of the MessageBox uses a chromed WPF Window instead of Win32 dialogs (as the default WPF MessageBox does), along with fluent icons.  This is important when your app is in a dark theme because it allows all message/confirmation dialogs to match the theme.  You can instantly modernize all message box display in your app to our implementation with a single line of code too.

ToggleSwitch

Added a new control that is often seen as a replacement for a traditional CheckBox in modern user interfaces.

The three available states in the default ToggleSwitch style

It's easy to customize the appearance of ToggleSwitch to support other styles as well.

PopupButton

Made numerous updates to PopupButton to improve focus handling, tooltip display, key handling, and knowing when to close itself.

Themes

WindowChrome Windows 11 Support

WindowChrome has added support for Windows 11 where it will use rounded corners and system-rendered drop shadows.  In addition, hovering over the title bar's Maximize or Restore buttons will show the Windows 11 Snap Layout menu.

WindowChrome now renders Windows 11 windows with rounded corners, system drop shadows, and supports the Snap Layout menu

SyntaxEditor

Synchronization QuickStart

A new sample demonstrates synchronizing the scroller and splitter of one editor instance with another.

Drag and Drop

Improved drag/drop interaction and related scrolling in several scenarios, and add a new Drag and Drop QuickStart sample.

Single-Line Mode QuickStart

Added a formula example with alternate style for nested parentheses.

Styles that highlight nested parentheses

Editing and Caret Movement

Made many small improvements in the areas of editing and caret movement, especially in certain special contexts.

IntelliPrompt

Improved popups to reposition themselves as the editor is scrolled.

Multiple IntelliPrompt popups

Vertical Scrolling

The vertical scrollbar has been updated to handle collapsed regions more smoothly.

SyntaxEditor .NET Languages Add-on

C# Parser

Updated to support C# 8.0 syntax.

Go To Definition QuickStart

A new sample that demonstrates using an IResolver to navigate to the source of a reference.

C# Outlining

The outliner will now create nodes for code-level constructs such as block statements by default.

Code outlining now works on blocks, like 'for' statements

SyntaxEditor Web Languages Add-on

JavaScript Parser

Updated to support ECMAScript 2021 (12 Edition) syntax.

JSON Syntax Language

Added a constructor for whether the language should support JavaScript style comments, as in Microsoft’s JSONC variant.

Optional JavaScript comment support in JSON

SyntaxEditor Python Language Add-on

Python Parser

Updated to support Python v3.9.5 syntax.

Python Resolver

Updated to support namespace packages.

Grids

FilterApplied Event

Added a FilterApplied event that is raised after the current filtering state has been applied to all of the control's items, generally occurring when DataFilter is changed, or filtering is enabled or disabled

TreeListBox Updates

Added a new item adapter method that can improve performance in large trees when searching for a tree node, and improved focus tracking and filtering.

Editors

Commit Trigger Changes

Updated edit box commit triggers so that commit on focus loss is now optional.

Improved Cultural Support

Updated the numeric edit boxes to support input of Full-width and Arabic-Indic digits.

Charts and Micro Charts

New Aggregation Kinds

Added SignedMaximum and SignedMinimum aggregation options that compare against absolute values while retaining the sign of the original value; e.g., -5 is greater than 4.

.NET 5 Assemblies Added to NuGet Packages

The WPF Controls NuGet packages on nuget.org now contain compiled product assemblies that target:

  • .NET 5
  • .NET Core 3.1
  • .NET Framework 4.5.2

Projects that target .NET 5 or later will use the .NET 5-based assemblies, and projects that target .NET Framework 4.5.2 or later will use the .NET Framework 4.5.2-based assemblies.

.NET 6 Support

We’ve also validated that our assemblies work great in .NET 6 applications.