Formulär skalas enligt AutoScaleMode
I PerMonitorV2-mode-appar har Windows Forms använt linjära storlekar (även kallade DPI-skalbara storlekar) som tillhandahålls av Windows för toppnivåfönster, oavsett AutoScaleMode. Den här implementeringen var problematisk när AutoScaleMode.Font skalningsläget användes, där Form skalning ska vara icke-linjär. De underordnade kontrollerna skalas icke-linjärt och är beroende av det teckensnitt som tilldelades till kontrollerna eller underordnade Form kontroller.
Den här ändringen möjliggör WM_GETDPISCALEDSIZE
meddelandehantering för objekt på den översta nivån Form . Den använder WM_GETDPISCALEDSIZE för att låta Windows veta att de Form kan behöva icke-linjära storlekar beroende på AutoScaleMode.
Version introducerad
Förhandsversion 1 av .NET 8
Tidigare beteende
Tidigare, i PerMonitorV2-mode-appar, skalades de översta fönstren av Windows och ignorerades AutoScaleMode enligt vad som anges i WinForms-programmet. Den här implementeringen ledde till inkonsekvent skalning mellan Form objekt och deras underordnade kontroller.
Nytt beteende
I PerMonitorV2-mode-appar skalas de översta fönstren (till exempel Formulär) enligt AutoScaleMode. Den här implementeringen säkerställer att de översta fönstren skalas konsekvent med sina underordnade kontroller.
Ändra kategori
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Den här ändringen gjordes för att förbättra DPI-upplevelsen för Windows Forms-appar i PerMonitorV2 läge.
Rekommenderad åtgärd
Ingen åtgärd krävs.
Berörda API:er
Ej tillämpligt