ScaleControl volal pouze v případě potřeby
Škálování se obvykle vyžaduje jenom v případě, že je aplikace spuštěná v režimu nebo PerMonitorV2 v SystemAware režimu a monitor má vlastní nastavení DPI, které se liší od počítače, na kterém byla aplikace navržena. V těchto scénářích model Windows Forms modul runtime vypočítá faktor škálování na základě vlastního nastavení DPI monitoru a volání ScaleControl(SizeF, BoundsSpecified) s novým faktorem škálování. Pro zvýšení výkonu se teď volá pouze v případě, ScaleControl
že počítaný koeficient je něco jiného než 1,0F (tj. škálování je potřeba). Tato změna může aplikaci přerušit, pokud přepíše ScaleControl
a provede jakékoli vlastní akce v přepsání.
Zavedená verze
Údržba .NET 6 6.0.101
Staré chování
Ve verzi GA .NET 6 a starších verzích se virtuální veřejné rozhraní API ScaleControl(SizeF, BoundsSpecified) volalo při PerformAutoScale() každém volání na řízení kontejneru aplikace. To znamená, že metoda byla volána pokaždé, když dojde ke změně rozložení nebo písma bez ohledu na to, jestli bylo potřeba škálování.
Nové chování
Počínaje servisními verzemi .NET 6 se volá pouze v případě, ScaleControl(SizeF, BoundsSpecified) že je potřeba škálovat formulář nebo ovládací prvek. Modul runtime model Windows Forms vypočítá měřítko na základě vlastního nastavení DPI monitoru a nastavení DPI monitoru, na kterém byla aplikace navržena. ScaleControl(SizeF, BoundsSpecified) je volána pouze v případě, že faktor škálování indikuje, že škálování je povinné.
Kategorie změny
Tato změna má vliv na kompatibilitu zdroje.
Důvod změny
Tato změna byla provedena kvůli zlepšení výkonu a zabránění zbytečným rozložením.
Doporučená akce
Zkontrolujte, jestli váš kód v těchto přepisovatelných metodách provádí nějaké vlastní akce bez škálování.