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 mode de mise à l’échelle AutoScaleMode.Font, où mise à l’échelle Form 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 gestion des messages WM_GETDPISCALEDSIZE
pour les objets Form de niveau supérieur. Elle utilise WM_GETDPISCALEDSIZE pour indiquer à Windows que les Form peuvent avoir besoin de tailles non linéaires selon AutoScaleMode.
Version introduite
.NET 8 Preview 1
Comportement précédent
Auparavant, dans les applications en mode PerMonitorV2, les fenêtres de niveau supérieur étaient mises à l’échelle par Windows et ignoraient 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 de comportement.
Raison du changement
Cette modification a été apportée pour améliorer l’expérience haute résolution des applications Windows Forms en mode PerMonitorV2.
Action recommandée
Aucune action n'est requise.
API affectées
N/A