---
name: net11-api-guidance
description: >-
Version-specific guidance for discovering, reviewing, documenting, and using
new WinForms APIs targeted for .NET 11. Covers the current API inventory,
approval and shipping status, PublicAPI verification, dependencies, and
compatibility risks.
metadata:
author: dotnet-winforms
version: "1.0"
---
# .NET 11 WinForms API Guidance
Use this skill when a task asks about new WinForms APIs for .NET 11, their
implementation status, usage, documentation, review, or release-note wording.
> **Golden rule:** A target milestone or open implementation PR does not mean an
> API is approved or shipped. Verify the current issue, PR, API-review label,
> target branch, and `PublicAPI.Shipped.txt` / `PublicAPI.Unshipped.txt` state
> before describing availability.
## Current .NET 11 API inventory
Refresh this section before relying on it. The entries below reflect open work
as of 2026-07-18.
### System visual settings
- Tracking issue: dotnet/winforms#14583
- Implementation PR: dotnet/winforms#14733
- Brief: Adds an immutable `SystemVisualSettings` snapshot containing accent
color, text scale, High Contrast, client-area animation, keyboard cues, and
focus-border metrics. `Application.SystemVisualSettings` exposes the current
snapshot; application and control notifications identify changed categories.
- Status: Open implementation; do not describe as shipped.
### TreeView text-scale-aware row height
- Tracking issue: dotnet/winforms#14584
- Implementation PR: dotnet/winforms#14734
- Brief: Adds `TreeView.NodeLeading`, `NodeLeadingChanged`, and
`OnNodeLeadingChanged` so applications can opt into row leading that responds
to font, DPI, and accessibility text scaling.
- Dependency: Uses the system visual settings work from #14733.
- Status: Open implementation; do not describe as shipped.
### Painting suspension and deferred form reveal
- Tracking issue: dotnet/winforms#14585
- Implementation PR: dotnet/winforms#14735
- Brief: Adds `ISupportSuspendPainting`, `SuspendPaintingScope`,
`ControlMutationExtensions.SuspendPainting`, `LayoutSuspendTraversal`, and
`FormRevealMode`, including application defaults and VB Application Framework
integration. These APIs aim to reduce repaint flicker during grouped UI
mutations and initial form display.
- Review note: Verify that deferred reveal is active on the normal initial
display path and that handle recreation, hidden forms, and DWM failures are
covered.
- Status: Open implementation; do not describe as shipped.
### KioskModeManager
- Tracking issue: dotnet/winforms#14586
- Implementation PR: dotnet/winforms#14736
- Brief: Adds a designer component for fullscreen kiosk state, taskbar hiding,
topmost behavior, power-saving suppression, mouse-pointer auto-hide,
keyboard toggling, and wake notifications or commands.
- Review note: Distinguish requested from actual fullscreen state and verify
retry behavior for Windows session-notification registration.
- Status: Open implementation; do not describe as shipped.
### Versioned Visual Styles
- Tracking issues: dotnet/winforms#14587 and approved concept #7641
- Implementation PR: dotnet/winforms#14737
- Brief: Adds `VisualStylesMode`, application defaults, ambient per-control
selection and change notifications, `Appearance.ToggleSwitch`, modernized
rendering behavior, and VB Application Framework integration.
- Review note: Verify the exact current PublicAPI surface. Do not infer members
from proposal prose. Animation ownership, idle timer shutdown, multi-UI-thread
dispatch, rendering compatibility, DPI, High Contrast, and handle recreation
require explicit validation.
- Status: Open implementation; the concept has approval history, but the exact
PR surface must still be verified.
## Discovery and verification workflow
1. Record the as-of date.
2. Search `dotnet/winforms` for `NewApi-Net11`, the `.NET 11` and `11.0
Preview*` milestones, and API-review labels.
3. Read the complete tracking issue, implementation PR, reviews, dependencies,
and associated epic.
4. Inspect every changed `PublicAPI.Shipped.txt` and
`PublicAPI.Unshipped.txt` file in WinForms, Primitives, Design, and
Microsoft.VisualBasic.Forms.
5. Verify signatures in source, XML documentation, tests, and sample usage.
6. Classify each item:
- **Shipped:** merged and present in `PublicAPI.Shipped.txt` on the target
release branch.
- **Approved:** API-review approved, but not necessarily merged.
- **Implemented candidate:** open PR with concrete PublicAPI entries.
- **Proposal only:** issue without an implementation PR or PublicAPI diff.
- **Implementation detail:** behavior change without new public API.
7. Report issue and PR links, exact status, concise API purpose, dependencies,
compatibility considerations, and confidence.
8. Never invent signatures or call an `api-suggestion` approved or shipping.
## Updating this skill
- Add an API only after verifying its actual PublicAPI diff.
- Replace proposal signatures with the implemented shape when they differ.
- Move an entry to shipped only after merge and release-branch verification.
- Record removals, renames, and breaking changes explicitly.
- Link NetFx behavior differences to the NetFx breaking-change skill.
This issue tracks the wording and maintenance of a repository skill that gives
Copilot a version-specific overview of the new WinForms APIs being developed
for .NET 11. The skill must distinguish proposed, implemented, approved, and
shipped API surface so open API work is never presented as released behavior.
Current implementation work:
SystemVisualSettingssnapshot and change notifications.TreeView.NodeLeading- opt-in honest, text-scale-aware node-row height #14584 / Add TreeView.NodeLeading for text-scale-aware row height #14734 -TreeView.NodeLeadingfor text-scale-aware row height.KioskModeManager.Proposed
SKILL.md: