Udostępnij za pośrednictwem


Skalowanie formularzy zgodnie z trybem AutoScaleMode

W PerMonitorV2aplikacjach trybu systemu Windows formularze systemu Windows używają rozmiarów liniowych (nazywanych również rozmiarami skalowanych w rozdzielczości DPI) udostępnianych przez system Windows dla okien najwyższego poziomu, niezależnie od AutoScaleModesystemu . Ta implementacja była problematyczna podczas korzystania z AutoScaleMode.Font trybu skalowania, gdzie Form skalowanie powinno być nieliniowe. Kontrolki podrzędne są skalowane nieliniowo i zależą od czcionki przypisanej Form do kontrolek podrzędnych lub .

Ta zmiana umożliwia obsługę komunikatów WM_GETDPISCALEDSIZE dla obiektów najwyższego poziomu Form . Wykorzystuje WM_GETDPISCALEDSIZE , aby poinformować system Windows, że Form może potrzebować rozmiarów nieliniowych w zależności od AutoScaleMode.

Wprowadzona wersja

.NET 8 (wersja zapoznawcza 1)

Poprzednie zachowanie

Wcześniej w PerMonitorV2aplikacjach trybu -mode okna najwyższego poziomu były skalowane przez system Windows i ignorowane AutoScaleMode zgodnie z oczekiwaniami w aplikacji WinForms. Ta implementacja doprowadziła do niespójnego skalowania między obiektami Form a kontrolkami podrzędnymi.

Nowe zachowanie

W PerMonitorV2aplikacjach trybu najwyższego poziomu okna (takie jak Formularze) są skalowane zgodnie z AutoScaleMode. Ta implementacja zapewnia spójne skalowanie okien najwyższego poziomu przy użyciu kontrolek podrzędnych.

Kategoria zmiany

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Ta zmiana została wprowadzona w celu ulepszenia środowiska wysokiej rozdzielczości DPI dla aplikacji Windows Forms w PerMonitorV2 trybie.

Nie trzeba podejmować żadnych działań.

Dotyczy interfejsów API

Nie dotyczy

Zobacz też