Create Skill for new .NET 11 APIs

Open Beginner friendly
#14,769 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Quiet
Tech stack
csharp
Domain
documentation

Research direction

Start with the proposed SKILL.md content and verify each referenced tracking issue and implementation PR, especially their API-review and release status. Inspect the mentioned PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt files before recording API details. Done means the skill clearly separates proposed, approved, implemented, and shipped APIs and documents how to refresh those classifications.

Written by the indexing model from the issue text.

Description

:books: documentation NewApi-Net11

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:

  • #14583 / #14733 - SystemVisualSettings snapshot and change notifications.
  • #14584 / #14734 - TreeView.NodeLeading for text-scale-aware row height.
  • #14585 / #14735 - painting suspension and deferred form reveal APIs.
  • #14586 / #14736 - KioskModeManager.
  • #14587 and #7641 / #14737 - versioned Visual Styles.
  • #14694 - aggregate API epic.
  • #14746 - draft integration PR; it introduces no unique API surface.

Proposed SKILL.md:

---
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.
Dominant language
C#
Stars
4.9k
Forks
1.1k
Avg merge
17h 29m
Merged PRs (30d)
113

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/winforms

All issues in dotnet/winforms

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.