Skip to content

Add KioskModeManager component#14736

Open
KlausLoeffelmann wants to merge 9 commits into
dotnet:mainfrom
KlausLoeffelmann:Net11Api_04_KioskManagerComponent
Open

Add KioskModeManager component#14736
KlausLoeffelmann wants to merge 9 commits into
dotnet:mainfrom
KlausLoeffelmann:Net11Api_04_KioskManagerComponent

Conversation

@KlausLoeffelmann

@KlausLoeffelmann KlausLoeffelmann commented Jul 14, 2026

Copy link
Copy Markdown
Member

Closes #14586.
Contributes to #14694.

Bug fixes

  • Introduces the designer-friendly KioskModeManager component.
  • Supports fullscreen restoration, optional taskbar coverage, topmost behavior, cursor auto-hide, and power-saving suppression.
  • Reports keyboard, mouse, power-resume, and session wakeup sources.
  • Resolves containing forms safely for both Form- and UserControl-hosted components.
  • Adds lifecycle, initialization, keyboard, wakeup, disposal, and data-binding coverage.
Microsoft Reviewers: Open in CodeFlow

KlausLoeffelmann and others added 6 commits July 18, 2026 01:26
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 27022e2a-9eb8-4f58-9bfa-e79ca0d6c559
…ng, and test cancellation/nullable guidance

- building-code: add a top-level TENET to build the solution only with build.cmd (CI parity for
  PublicAPI/analyzer enforcement and -warnAsError); a plain dotnet build is inner-loop only.
- new-control-api: new public/protected overrides must be tracked in PublicAPI.Unshipped.txt with the
  override prefix; note CS0114 (new keyword) and CS1574 (no cref to cross-assembly internal types).
- control-api-tests: async tests must pass CancellationToken (TestContext.Current.CancellationToken,
  CA2016/xUnit1051) and respect the #nullable context (CS8632).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refactor KioskModeManager component and introduce WakeUp-Events incl.. new WakeUpEventArgs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 20883488-cf1e-4ad3-a681-0724e9f16777
Size borderless fullscreen forms directly to the selected screen bounds instead of maximizing them. This keeps StatusStrip items and working-area-constrained dropdowns on the same screen edge while preserving restored form state.

Fixes dotnet#14765

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c352332b-4b81-4492-bcfc-9dec524c27c9
Choose fullscreen bounds from RestoreBounds for minimized and maximized forms so a minimized-window sentinel cannot redirect kiosk mode to the wrong monitor.

Fixes dotnet#14765

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c352332b-4b81-4492-bcfc-9dec524c27c9
Reapply explicit fullscreen bounds when display geometry or the taskbar working area changes so the normal-state kiosk window tracks the selected screen like the previous maximized window did.

Fixes dotnet#14765

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c352332b-4b81-4492-bcfc-9dec524c27c9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant