Korzystając z .NET Framework 4.7 i Windows 10 Creators Update (1703) lub nowszej, należy wykonać następujące czynności, aby skonfigurować obsługę wysokiej rozdzielczości DPI dla aplikacji Windows Form:
Zadeklaruj zgodność z systemem Windows 10.
Aby to zrobić, dodaj do swojego manifest
pliku:
<compatibility xmlns="urn:schemas-microsoft.com:compatibility.v1">
<application>
<!-- Windows 10 compatibility -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
Włącz rozpoznawanie DPI dla każdego monitora w app.config
pliku.
Windows Forms wprowadza nowy element System.Windows.Forms.ApplicationConfigurationSection do obsługi nowych funkcji i dostosowań dodanych począwszy od .NET Framework 4.7. Aby skorzystać z nowych funkcji obsługujących wysokie DPI, dodaj następujące elementy do pliku konfiguracyjnego aplikacji.
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
</System.Windows.Forms.ApplicationConfigurationSection>
Ważny
W poprzednich wersjach programu .NET Framework do dodania obsługi wysokiej rozdzielczości DPI był używany manifest. To podejście nie jest już zalecane, ponieważ zastępuje ustawienia zdefiniowane w pliku app.config.
Wywołaj statyczną metodę EnableVisualStyles.
Powinno to być pierwsze wywołanie metody w punkcie wejścia aplikacji. Na przykład:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Zaletą tego jest obsługa dynamicznych scenariuszy DPI, w których użytkownik zmienia DPI lub współczynnik skali po uruchomieniu aplikacji Windows Forms.
Źródło: obsługa wysokiej rozdzielczości DPI w Windows Forms