Con .NET Framework 4.7 y Windows 10 Creators Update (1703) o más reciente, debe hacer lo siguiente para configurar el soporte de alto DPI para su aplicación de Windows Form:
Declare compatibilidad con Windows 10.
Para hacer esto, agregue lo siguiente a su manifest
archivo:
<compatibility xmlns="urn:schemas-microsoft.com:compatibility.v1">
<application>
<!-- Windows 10 compatibility -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
Habilite el reconocimiento de DPI por monitor en el app.config
archivo.
Windows Forms presenta un nuevo elemento System.Windows.Forms.ApplicationConfigurationSection para admitir nuevas características y personalizaciones agregadas a partir de .NET Framework 4.7. Para aprovechar las nuevas funciones que admiten un DPI alto, agregue lo siguiente al archivo de configuración de su aplicación.
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
</System.Windows.Forms.ApplicationConfigurationSection>
Importante
En versiones anteriores de .NET Framework, usó el manifiesto para agregar compatibilidad alta con DPI. Este enfoque ya no se recomienda, ya que anula la configuración definida en el archivo app.config.
Llame al método estático EnableVisualStyles.
Esta debería ser la primera llamada al método en el punto de entrada de su aplicación. Por ejemplo:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
La ventaja de esto es la compatibilidad con escenarios dinámicos de PPP en los que el usuario cambia el PPP o el factor de escala después de que se haya lanzado una aplicación de Windows Forms.
Fuente: soporte de alto DPI en Windows Forms