Skip to content

release-notes in .NET 11 RC2 #15173

Description

@LeafShi1

Overall summary

  • Total qualifying PRs: 16 merged PRs in milestone 11.0-rc2.
  • Main feature areas: WinForms design-time analyzers; Visual-style compatibility; Designer property serialization; Net11 rendering, layout, DPI, and right-to-left behavior;
  • Key fixes worth highlighting:
    • New Designer guardrail analyzers
    • Introduces a per-state border stroke model for Net11 editable controls
    • The WPF Clipboard exception compatibility switch
    • Temporary Classic rendering defaults and opt-in switches for ToolStrip and DataGridView
    • Broad TextBox, ComboBox, and UpDown sizing corrections
    • Fixes for GroupBox images, explicit colors, RTL layouts, and DataGridView-hosted controls.

New feature: design-time analyzers

PR Fixed Contents Description Comment
#15148 System.Windows.Forms.Analyzers Adds C# and Visual Basic Designer guardrails for invalid designer partial structures, unsupported or unrolled InitializeComponent code, CodeDOM-incompatible constructs, VB WithEvents/Handles wiring, and property getters that allocate new instances. It also adds the shared analyzer test infrastructure and diagnostic documentation. Include. This is a substantial, enabled-by-default developer feature that can prevent Designer loading and serialization failures and can introduce new build diagnostics.

Compatibility and behavioral configuration

PR Fixed Contents Description Comment
#15035 System.Windows.Clipboard; Windows.Clipboard.ThrowExceptionsForGetAPIs Adds an opt-in AppContext switch that restores the pre-.NET 10 behavior of propagating failures from WPF Clipboard Get* APIs instead of returning empty data. The switch is applied to shared OLE object, HGLOBAL, IStream, and bitmap retrieval paths. Include. Existing WPF applications may rely on exceptions to detect Clipboard failures, so the named compatibility switch must be discoverable.
#15033 Control.VisualStylesMode; ToolStrip; MenuStrip; DataGridView Makes composite controls use Classic rendering when Net11 styling is requested, avoiding clipping, row-height, padding, border, and hosted-editor regressions. Applications can opt back into modern rendering with System.Windows.Forms.ToolStripModernRendering and System.Windows.Forms.DataGridViewModernRendering. Include. This changes the default rendering of major controls and introduces two user-configurable switches that adopters of Net11 visual styles need to understand.

Designer and property behavior

PR Fixed Contents Description Comment
#15019 System.Windows.Forms.Control.VisualStylesMode Fixes setting VisualStylesMode to Classic in the Properties window. The setter now clears the local value only when Inherit is explicitly assigned, so Classic no longer immediately reverts to Inherit or disappears from generated Designer code. Include. This is a visible Designer serialization fix for a new .NET 11 property and preserves explicit values when the parent mode changes.

Visual rendering, layout, DPI, and RTL

PR Fixed Contents Description Comment
#15147 TextBoxBase; TextBox; MaskedTextBox; RichTextBox Adds a per-state border stroke model for Net11 editable controls, with distinct Rest, Hover, Focused, Disabled, and ReadOnly states. It also adds a stronger bottom elevation edge and an accent-colored bottom edge for the focused state, with border colors independent of ForeColor. Include. This introduces a user-visible visual improvement to common editable controls under VisualStylesMode.Net11, including new state-specific border and focus rendering.
#15159 CheckBox; RadioButton; GroupBox.BackgroundImage Corrects Net11 background compositing so CheckBox and RadioButton controls with opaque effective backgrounds fill with BackColor, while transparent or translucent controls still composite the parent. This prevents a GroupBox background image from incorrectly showing through opaque controls. Include. It fixes a prominent Net11 rendering defect while preserving intentional transparency.
#14929 Net11 Button, CheckBox, and RadioButton color inheritance Replaces incorrect serialization-based color tests with effective inheritance logic. Modern renderers now retain inherited non-default foreground colors and treat backgrounds as custom only when explicitly set. Include. It prevents color regressions in customized containers and applications adopting Net11 styling.
#14910 System.Windows.Forms.GroupBox.BackgroundImage Draws one continuous client-coordinate background image across GroupBox header and body regions for Standard, Flat, and Popup styles. It also applies the intended overlays and prevents image leakage into child backgrounds and rounded edges. Include. The change corrects several conspicuous background-image artifacts across supported GroupBox styles.
#14904 Net11 RadioButton with RightToLeft.Yes Adds DPI-scaled glyph padding to the modern RadioButton adapter so the hovered glyph is not clipped at the right-to-left edge. Include. Although small, this is a user-visible RTL and high-DPI correctness fix.
#14887 TextBoxBase; MaskedTextBox; ComboBox; NumericUpDown; DomainUpDown Revises shared Net11 field metrics, non-client TextBox layout, ComboBox child bounds, and UpDown sizing and glyph rendering. The changes reduce oversized single-line controls, prevent descender clipping, align editable ComboBox text, normalize dropdown and button proportions, and correct DPI-dependent geometry. Include. This broad fix changes dimensions and readability for common input controls and auto-sized layouts.
#14865 CheckBox.BackColor; RadioButton.BackColor Makes Net11 CheckBox and RadioButton adapters distinguish the default modern appearance from an explicitly assigned BackColor, then use the developer-specified color in layout and painting. Include. It restores expected WinForms property precedence for explicitly configured colors.
#14860 Control.VisualStylesMode; modern Button rendering Preserves an explicit child visual-style override even when it initially matches the parent, preventing a Classic child from unexpectedly becoming Net11 after a parent change. It also restricts button accent and background decisions to the modern path for consistent focus rendering. Include. It fixes both visible button focus treatment and the semantics of explicit style overrides.
#14853 TextBoxBase; ComboBox; UpDownBase; ModernControlColorMath Introduces a shared stable border-color calculation for modern editable controls instead of deriving the border from ForeColor. Custom text colors therefore no longer recolor borders, including in dark mode. Include. It restores the expected meaning of ForeColor across frequently used editable controls.
#14827 ComboBox with ComboBoxStyle.Simple Corrects modern edit/list region layout, removes conflicting native list borders, preserves the rounded outer frame, adds the intended separator, and fixes clipping and hit testing. This removes unreadable text and unexpected scrollbar or container artifacts. Include. It repairs a materially broken standard ComboBox mode under the new visual style.
#14815 ToggleSwitch rendering for CheckBox and RadioButton Separates switch and text regions, subtracts glyph width and spacing from the text rectangle, and uses bounds-based text drawing. Long RTL text in constrained, non-auto-sized controls can now wrap or clip without overlapping the switch. Include. This is a clear visual and internationalization fix for the new ToggleSwitch appearance.

Source query: repo:dotnet/winforms is:pr is:merged milestone:"11.0-rc2".

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority-0Work that we can't release without

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions