Funkcja ScaleControl wywoływana tylko w razie potrzeby
Skalowanie jest zwykle wymagane tylko wtedy, gdy aplikacja działa w SystemAware trybie lub PerMonitorV2 w trybie, a monitor ma niestandardowe ustawienia DPI, które różnią się od maszyny, na której została zaprojektowana aplikacja. W tych scenariuszach środowisko uruchomieniowe windows Forms oblicza współczynnik skalowania na podstawie niestandardowych ustawień DPI monitora i wywołuje ScaleControl(SizeF, BoundsSpecified) nowy współczynnik skalowania. Aby zwiększyć wydajność, jest teraz wywoływana tylko wtedy, ScaleControl
gdy obliczony współczynnik skalowania jest czymś innym niż 1,0F (czyli jest wymagane skalowanie). Ta zmiana może uszkodzić aplikację, jeśli zastąpi ScaleControl
ją i wykona dowolne akcje niestandardowe w zastąpieniu.
Wprowadzona wersja
Obsługa platformy .NET 6.0.101
Stare zachowanie
W wersji ogólnodostępnej platformy .NET 6 i starszych wersjach wirtualny publiczny interfejs API ScaleControl(SizeF, BoundsSpecified) był wywoływany za każdym razem, gdy PerformAutoScale() był wywoływany w kontroli kontenera aplikacji. Oznacza to, że metoda była wywoływana za każdym razem, gdy istnieje zmiana układu lub czcionki, niezależnie od tego, czy skalowanie było potrzebne.
Nowe zachowanie
Począwszy od wersji obsługi platformy .NET 6, jest wywoływana tylko wtedy, ScaleControl(SizeF, BoundsSpecified) gdy istnieje potrzeba skalowania formularza lub kontrolki. Środowisko uruchomieniowe Windows Forms oblicza współczynnik skalowania na podstawie niestandardowych ustawień DPI monitora i ustawień DPI monitora, na którym została zaprojektowana aplikacja. ScaleControl(SizeF, BoundsSpecified) jest wywoływana tylko wtedy, gdy współczynnik skalowania wskazuje, że skalowanie jest wymagane.
Kategoria zmiany
Ta zmiana ma wpływ na zgodność ze źródłem.
Przyczyna wprowadzenia zmiany
Ta zmiana została wprowadzona w celu zwiększenia wydajności i uniknięcia niepotrzebnych układów.
Zalecana akcja
Sprawdź, czy kod wykonuje jakiekolwiek niestandardowe, nieskalowanie akcji w tych metodach, które można zastąpić.