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.
Empfohlene Maßnahme
Keine Aktion erforderlich.
Betroffene APIs
Nicht zutreffend
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für