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 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.

Aucune action n'est requise.

API affectées

N/A

Voir aussi