Partager via


Mise à l’échelle des formulaires selon AutoScaleMode

Dans les applications en mode PerMonitorV2, Windows Forms utilisait des tailles linéaires (également appelées tailles mises à l’échelle PPP) fournies par Windows pour les fenêtres de niveau supérieur, quel que soit le AutoScaleMode. Cette implémentation était problématique lors de l’utilisation du AutoScaleMode.Font mode de mise à l’échelle, où la Form mise à l’échelle doit être non linéaire. Les contrôles enfants sont mis à l’échelle de manière non linéaire et dépendent de la police qui a été affectée aux Form ou aux contrôles enfants.

Cette modification active la WM_GETDPISCALEDSIZE gestion des messages pour les objets de niveau Form supérieur. Il utilise WM_GETDPISCALEDSIZE pour signaler à Windows que le Form pourrait nécessiter des tailles non linéaires en fonction de AutoScaleMode.

Version introduite

.NET 8 Préversion 1

Comportement précédent

Auparavant, dans les applications en PerMonitorV2mode, les fenêtres de niveau supérieur étaient mises à l’échelle par Windows et ignorées AutoScaleMode comme spécifié dans l’application WinForms. Cette implémentation entraînait une mise à l’échelle incohérente entre les objets Form et leurs contrôles enfants.

Nouveau comportement

Dans les applications en mode PerMonitorV2, les fenêtres de niveau supérieur (telles que Formulaires) sont mises à l’échelle selon AutoScaleMode. Cette implémentation garantit que les fenêtres de niveau supérieur sont mises à l’échelle de manière cohérente avec leurs contrôles enfants.

Modifier la catégorie

Ce changement est un changement comportemental.

Raison de la modification

Cette modification a été apportée pour améliorer l’expérience haute résolution des applications Windows Forms en PerMonitorV2 mode.

Aucune action n’est requise.

API affectées

N/A

Voir aussi