Share via


Skalieren von Formularen gemäß AutoScaleMode

In PerMonitorV2Apps im Modus verwendet Windows Forms lineare Größen (auch als DPI-skalierte Größen bezeichnet), die von Windows für Fenster auf oberster Ebene bereitgestellt werden, unabhängig von AutoScaleMode. Diese Implementierung war problematisch, wenn der Skalierungsmodus verwendet wurde, bei dem die AutoScaleMode.FontForm Skalierung nicht linear sein sollte. Die untergeordneten Steuerelemente werden nicht linear skaliert und hängen von der Schriftart ab, die den Form untergeordneten Steuerelementen oder zugewiesen wurde.

Diese Änderung ermöglicht die WM_GETDPISCALEDSIZE Nachrichtenbehandlung für Objekte der obersten Ebene Form . Es verwendet WM_GETDPISCALEDSIZE , um Windows darüber zu informieren, dass abhängig Form von AutoScaleModemöglicherweise nicht lineare Größen benötigt werden.

Eingeführt in Version

.NET 8 Preview 1

Vorheriges Verhalten

Bisher wurden fenster der obersten Ebene in PerMonitorV2Apps im -Modus von Windows skaliert und AutoScaleMode ignoriert, wie in der WinForms-Anwendung angegeben. Diese Implementierung führte zu einer inkonsistenten Skalierung zwischen Form Objekten und ihren untergeordneten Steuerelementen.

Neues Verhalten

In PerMonitorV2Apps im Modus werden Fenster der obersten Ebene (z. B. Forms) entsprechend AutoScaleModeskaliert. Diese Implementierung stellt sicher, dass Fenster auf oberster Ebene konsistent mit ihren untergeordneten Steuerelementen skaliert werden.

Ändern der Kategorie

Diese Änderung ist eine Verhaltensänderung.

Grund für die Änderung

Diese Änderung wurde vorgenommen, um die Benutzeroberfläche mit hoher DPI für Windows Forms Apps im PerMonitorV2 Modus zu verbessern.

Keine Aktion erforderlich.

Betroffene APIs

Nicht zutreffend

Siehe auch