Converting to v21.1
All of the breaking changes are detailed or linked below.
Namespaces Renamed
The following API types and namespaces have been moved or renamed for clarity and consistency with those used by our other platforms:
UIContainerControl
,UIControl
,UIElement
,NoActivateForm
, andPopupControl
types moved fromActiproSoftware.WinUICore
namespace toActiproSoftware.UI.WinForms.Controls.Primitives
namespace.ActiproSoftware.ComponentModel
namespace is nowActiproSoftware.UI.WinForms
ActiproSoftware.WinUICore.Input
namespace is nowActiproSoftware.UI.WinForms.Input
ActiproSoftware.WinUICore
namespace is nowActiproSoftware.UI.WinForms.Controls
ActiproSoftware.WinUICore.Commands
namespace is nowActiproSoftware.UI.WinForms.Controls.Commands
ActiproSoftware.WinUICore.Rendering
namespace is nowActiproSoftware.UI.WinForms.Controls.Rendering
ActiproSoftware.MarkupLabel
namespace is nowActiproSoftware.UI.WinForms.Controls.MarkupLabel
ActiproSoftware.Drawing
namespace is nowActiproSoftware.UI.WinForms.Drawing
ActiproSoftware.UIStudio.Bar
namespace is nowActiproSoftware.UI.WinForms.Controls.Bars
ActiproSoftware.UIStudio.NavigationBar
namespace is nowActiproSoftware.UI.WinForms.Controls.Navigation
ActiproSoftware.UIStudio.Dock
andActiproSoftware.UIStudio.TabStrip
namespaces have both been merged intoActiproSoftware.UI.WinForms.Controls.Docking
ActiproSoftware.Wizard
namespace is nowActiproSoftware.UI.WinForms.Controls.Wizard
Note
Update all using
statements and fully-qualified type names to use the new namespaces as defined above. The following replace operations can be used in the given order to safely perform the majority of the conversion:
- Replace
ActiproSoftware.WinUICore.UIContainerControl
withActiproSoftware.UI.WinForms.Controls.Primitives.UIContainerControl
- Replace
ActiproSoftware.WinUICore.UIControl
withActiproSoftware.UI.WinForms.Controls.Primitives.UIControl
- Replace
ActiproSoftware.WinUICore.UIElement
withActiproSoftware.UI.WinForms.Controls.Primitives.UIElement
- Replace
ActiproSoftware.WinUICore.NoActivateForm
withActiproSoftware.UI.WinForms.Controls.Primitives.NoActivateForm
- Replace
ActiproSoftware.WinUICore.PopupControl
withActiproSoftware.UI.WinForms.Controls.Primitives.PopupControl
- Replace
ActiproSoftware.WinUICore.Input
withActiproSoftware.UI.WinForms.Input
- Replace
ActiproSoftware.ComponentModel
withActiproSoftware.UI.WinForms
- Replace
ActiproSoftware.Drawing
withActiproSoftware.UI.WinForms.Drawing
- Replace
ActiproSoftware.WinUICore
withActiproSoftware.UI.WinForms.Controls
- Replace
ActiproSoftware.MarkupLabel
withActiproSoftware.UI.WinForms.Controls.MarkupLabel
- Replace
ActiproSoftware.UIStudio.Bar
withActiproSoftware.UI.WinForms.Controls.Bars
- Replace
ActiproSoftware.UIStudio.Dock
withActiproSoftware.UI.WinForms.Controls.Docking
- Replace
ActiproSoftware.UIStudio.NavigationBar
withActiproSoftware.UI.WinForms.Controls.Navigation
- Replace
ActiproSoftware.UIStudio.TabStrip
withActiproSoftware.UI.WinForms.Controls.Docking
- Replace
ActiproSoftware.Wizard
withActiproSoftware.UI.WinForms.Controls.Wizard
If a compiler error indicates a UIContainerControl
, UIControl
, UIElement
, NoActivateForm
, or PopupControl
type cannot be found, you may need to add a using ActiproSoftware.UI.WinForms.Controls.Primitives;
statement since any existing using ActiproSoftware.WinUICore;
statement that qualified those types may have been renamed to using ActiproSoftware.UI.WinForms.Controls;
.
StatusBarPanel.AutoSize Property Type Changed
The StatusBarPanel.AutoSize property has changed from type System.Windows.Forms.StatusBarPanelAutoSize
(removed in .NET 5) to StatusBarPanelAutoSize in the ActiproSoftware.UI.WinForms.Controls.Bars namespace (previously in the ActiproSoftware.UIStudio.Bar
namespace).
Note
Replace all System.Windows.Forms.StatusBarPanelAutoSize
enum values with ActiproSoftware.UI.WinForms.Controls.Bars.StatusBarPanelAutoSize
enum values of the same name.
Context Menu Type Changes
To better align with .NET Core, usage of System.Windows.Forms.ContextMenu
was replaced with System.Windows.Forms.ContextMenuStrip
for the following types:
ActiproSoftware.UI.WinForms.Controls.ScrollBar
(previously of theActiproSoftware.WinUICore
namespace).- SyntaxEditor and SyntaxEditorMenuEventArgs of the
ActiproSoftware.UI.WinForms.Controls.SyntaxEditor
namespace.
Note
- Update any overrides of SyntaxEditor.CreateDefaultContextMenu to return
System.Windows.Forms.ContextMenuStrip
. - Update any references to SyntaxEditorMenuEventArgs.Menu to work with
System.Windows.Forms.ContextMenuStrip
.
.NET Core Changes
For users targeting .NET Core, the following changes were made only in our .NET Core builds since .NET Core 3.1 removed MainMenu
, ContextMenu
, and MenuItem
(of the System.Windows.Forms
namespace):
OwnerDrawMainMenu
,OwnerDrawContextMenu
, andOwnerDrawMenuItem
types (previously of theActiproSoftware.WinUICore
namespace) were removed.OwnerDrawMainMenu
andMainMenu
replaced withSystem.Windows.Forms.MenuStrip
.OwnerDrawContextMenu
andContextMenu
replaced withSystem.Windows.Forms.ContextMenuStrip
.OwnerDrawMenuItem
andMenuItem
replaced withSystem.Windows.Forms.ToolStripMenuItem
.
IBarRenderer.DrawCommandLinkInCustomizeList Method Added
The IBarRenderer interface has a new DrawCommandLinkInCustomizeList method for rendering a BarCommandLink in a ListBox control. This method is implemented by all built-in renderers, so only user-defined renderers that directly implement the IBarRenderer interface or derive from the abstract base class BarRenderer will need to implement the method.
Note
- Add
DrawCommandLinkInCustomizeList
method implementation to any classes which implement the IBarRenderer interface. - Add
DrawCommandLinkInCustomizeList
method implementation to any classes which derive from the BarRenderer abstract class.
BarManager.PopupAnimation Removed
Popup animations have not been supported since Windows XP and any value assigned to BarManager.PopupAnimation
has been ignored on newer versions of Windows. Since Windows XP is no longer supported, the BarManager.PopupAnimation
property and related BarPopupAnimation
enum have been removed.
Note
- Remove any statements which read or write the
BarManager.PopupAnimation
property. - Remove any references to the
BarPopupAnimation
enum.