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, andPopupControltypes moved fromActiproSoftware.WinUICorenamespace toActiproSoftware.UI.WinForms.Controls.Primitivesnamespace.ActiproSoftware.ComponentModelnamespace is nowActiproSoftware.UI.WinFormsActiproSoftware.WinUICore.Inputnamespace is nowActiproSoftware.UI.WinForms.InputActiproSoftware.WinUICorenamespace is nowActiproSoftware.UI.WinForms.ControlsActiproSoftware.WinUICore.Commandsnamespace is nowActiproSoftware.UI.WinForms.Controls.CommandsActiproSoftware.WinUICore.Renderingnamespace is nowActiproSoftware.UI.WinForms.Controls.RenderingActiproSoftware.MarkupLabelnamespace is nowActiproSoftware.UI.WinForms.Controls.MarkupLabelActiproSoftware.Drawingnamespace is nowActiproSoftware.UI.WinForms.DrawingActiproSoftware.UIStudio.Barnamespace is nowActiproSoftware.UI.WinForms.Controls.BarsActiproSoftware.UIStudio.NavigationBarnamespace is nowActiproSoftware.UI.WinForms.Controls.NavigationActiproSoftware.UIStudio.DockandActiproSoftware.UIStudio.TabStripnamespaces have both been merged intoActiproSoftware.UI.WinForms.Controls.DockingActiproSoftware.Wizardnamespace 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.UIContainerControlwithActiproSoftware.UI.WinForms.Controls.Primitives.UIContainerControl - Replace
ActiproSoftware.WinUICore.UIControlwithActiproSoftware.UI.WinForms.Controls.Primitives.UIControl - Replace
ActiproSoftware.WinUICore.UIElementwithActiproSoftware.UI.WinForms.Controls.Primitives.UIElement - Replace
ActiproSoftware.WinUICore.NoActivateFormwithActiproSoftware.UI.WinForms.Controls.Primitives.NoActivateForm - Replace
ActiproSoftware.WinUICore.PopupControlwithActiproSoftware.UI.WinForms.Controls.Primitives.PopupControl - Replace
ActiproSoftware.WinUICore.InputwithActiproSoftware.UI.WinForms.Input - Replace
ActiproSoftware.ComponentModelwithActiproSoftware.UI.WinForms - Replace
ActiproSoftware.DrawingwithActiproSoftware.UI.WinForms.Drawing - Replace
ActiproSoftware.WinUICorewithActiproSoftware.UI.WinForms.Controls - Replace
ActiproSoftware.MarkupLabelwithActiproSoftware.UI.WinForms.Controls.MarkupLabel - Replace
ActiproSoftware.UIStudio.BarwithActiproSoftware.UI.WinForms.Controls.Bars - Replace
ActiproSoftware.UIStudio.DockwithActiproSoftware.UI.WinForms.Controls.Docking - Replace
ActiproSoftware.UIStudio.NavigationBarwithActiproSoftware.UI.WinForms.Controls.Navigation - Replace
ActiproSoftware.UIStudio.TabStripwithActiproSoftware.UI.WinForms.Controls.Docking - Replace
ActiproSoftware.WizardwithActiproSoftware.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.WinUICorenamespace).- SyntaxEditor and SyntaxEditorMenuEventArgs of the
ActiproSoftware.UI.WinForms.Controls.SyntaxEditornamespace.
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, andOwnerDrawMenuItemtypes (previously of theActiproSoftware.WinUICorenamespace) were removed.OwnerDrawMainMenuandMainMenureplaced withSystem.Windows.Forms.MenuStrip.OwnerDrawContextMenuandContextMenureplaced withSystem.Windows.Forms.ContextMenuStrip.OwnerDrawMenuItemandMenuItemreplaced 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
DrawCommandLinkInCustomizeListmethod implementation to any classes which implement the IBarRenderer interface. - Add
DrawCommandLinkInCustomizeListmethod 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.PopupAnimationproperty. - Remove any references to the
BarPopupAnimationenum.