Formulieren op het hoogste niveau schalen minimale en maximale grootte naar DPI
Formulieren op het hoogste niveau in Windows Forms schalen nu hun MinimumSize en MaximumSize waarden op basis van de dpi (dots per inch) van de monitor wanneer ze in HighDpiMode.PerMonitorV2 de modus worden uitgevoerd.
Versie geïntroduceerd
.NET 8 Preview 1
Vorig gedrag
In .NET 8 blijven de MinimumSize en MaximumSize waarden voor formulieren op het hoogste niveau constant, ongeacht de DPI-modus van de toepassing en de DPI van de monitor waar het formulier wordt weergegeven. Dit heeft soms geleid tot schaalbeperkingen van het formulier op het hoogste niveau.
U kunt zich ook aanmelden voor dit gedrag in .NET 7. Als u zich wilt aanmelden, stelt u de System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi
runtimeconfiguratieoptie in die wordt beschreven in de sectie Aanbevolen actie .
Nieuw gedrag
Vanaf .NET 8 schalen formulieren op het hoogste niveau hun MinimumSize en MaximumSize waarden op basis van de DPI van de monitor wanneer ze in HighDpiMode.PerMonitorV2 de modus worden uitgevoerd. Het gedrag van uw app kan op de volgende manieren veranderen:
- Runtime-afhankelijkheden kunnen worden beïnvloed wanneer de minimale en maximale grootte van het formulier wordt gewijzigd.
- Er kunnen nieuwe MinimumSizeChanged gebeurtenissen MaximumSizeChanged worden gegenereerd.
- De grootte van het geschaalde formulier bevat nu nieuwe beperkingswaarden voor de minimum- en maximumgrootte.
Wijzigingscategorie
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Deze wijziging maakt deel uit van een bredere inspanning om de gebruikerservaring van Windows Forms op hoge DPI-beeldschermen te verbeteren. Hiermee kunnen ontwikkelaars minimum- en maximumgrootten instellen voor formulieren op het hoogste niveau zonder rekening te hoeven houden met de DPI van de monitor.
Aanbevolen actie
Als het nieuwe gedrag problematisch voor u is, kunt u zich afmelden door in uw runtimeconfig.json-bestand in te false
stellenSystem.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi
.
runtimeconfig.template.json sjabloonbestand:
{
"configProperties": {
"System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
}
}
[appname].runtimeconfig.json uitvoerbestand:
{
"runtimeOptions": {
"configProperties": {
"System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
}
}
}
Betrokken API's
N.v.t.