Freigeben über


Formulare der obersten Ebene skalieren die minimale und maximale Größe auf DPI

Formulare der obersten Ebene in Windows Forms jetzt ihre MinimumSize Werte und MaximumSize entsprechend den Dpi-Werten (Dots per Inch) des Monitors skalieren, wenn sie im HighDpiMode.PerMonitorV2 Modus ausgeführt werden.

Eingeführt in Version

.NET 8 Preview 1

Vorheriges Verhalten

In .NET 8 blieben die MinimumSize Werte und MaximumSize für Formulare der obersten Ebene unabhängig vom DPI-Modus der Anwendung und dem DPI-Wert des Monitors, auf dem das Formular gerendert wird, konstant. Dies führte manchmal zu Skalierungseinschränkungen des Formulars der obersten Ebene.

Sie können dieses Verhalten auch in .NET 7 festlegen. Legen Sie zum Anmelden die System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi im Abschnitt Empfohlene Aktion beschriebene Laufzeitkonfigurationsoption fest.

Neues Verhalten

Ab .NET 8 skalieren Formulare der obersten Ebene ihre MinimumSize Werte und MaximumSize entsprechend dem DPI-Wert des Monitors, wenn sie im HighDpiMode.PerMonitorV2 Modus ausgeführt werden. Das Verhalten Ihrer App kann sich auf folgende Weise ändern:

  • Laufzeitabhängigkeiten können beeinträchtigt werden, wenn sich die minimale und maximale Größe des Formulars ändert.
  • Möglicherweise werden neue MinimumSizeChanged Ereignisse und MaximumSizeChanged ausgelöst.
  • Die skalierte Formulargröße verfügt jetzt über neue Einschränkungswerte für die minimale und maximale Größe.

Ändern der Kategorie

Diese Änderung ist eine Verhaltensänderung.

Grund für die Änderung

Diese Änderung ist Teil eines umfassenderen Bemühens, die Windows Forms Benutzerfreundlichkeit auf Monitoren mit hohem DPI-Wert zu verbessern. Es ermöglicht Entwicklern, minimale und maximale Größen für Formulare der obersten Ebene festzulegen, ohne den DPI-Wert des Monitors berücksichtigen zu müssen.

Wenn das neue Verhalten für Sie problematisch ist, können Sie dies deaktivieren, indem Sie in Ihrer System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpiRuntimeconfig.json-Dateifalse auf festlegen.

runtimeconfig.template.json Vorlagedatei:

{
   "configProperties": {
      "System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
   }
}

[appname].runtimeconfig.json Ausgabedatei:

{
   "runtimeOptions": {
      "configProperties": {
         "System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
      }
   }
}

Betroffene APIs

Nicht zutreffend

Siehe auch