Mit .NET Framework 4.7 und Windows 10 Creators Update (1703) oder neuer müssen Sie die folgenden Schritte ausführen, um die Unterstützung für hohe DPI-Werte für Ihre Windows Form-Anwendung zu konfigurieren:
Deklarieren Sie die Kompatibilität mit Windows 10.
Fügen Sie dazu Ihrer manifest
Datei Folgendes hinzu :
<compatibility xmlns="urn:schemas-microsoft.com:compatibility.v1">
<application>
<!-- Windows 10 compatibility -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
Aktivieren Sie die DPI-Erkennung pro Monitor in der app.config
Datei.
Windows Forms führt ein neues System.Windows.Forms.ApplicationConfigurationSection- Element ein, um neue Funktionen und Anpassungen zu unterstützen, die ab .NET Framework 4.7 hinzugefügt wurden. Fügen Sie Ihrer Anwendungskonfigurationsdatei Folgendes hinzu, um die neuen Funktionen zu nutzen, die hohe DPI unterstützen.
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
</System.Windows.Forms.ApplicationConfigurationSection>
Wichtig
In früheren Versionen von .NET Framework haben Sie das Manifest verwendet, um Unterstützung für hohe DPI hinzuzufügen. Dieser Ansatz wird nicht mehr empfohlen, da er die in der Datei app.config definierten Einstellungen überschreibt.
Rufen Sie die statische EnableVisualStyles-Methode auf.
Dies sollte der erste Methodenaufruf in Ihrem Anwendungseinstiegspunkt sein. Beispielsweise:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Dies hat den Vorteil, dass dynamische DPI-Szenarien unterstützt werden, in denen der Benutzer den DPI- oder Skalierungsfaktor nach dem Start einer Windows Forms-Anwendung ändert.
Quelle: Unterstützung für hohe DPI in Windows Forms