使 WinForms 和 WPF 支持高 DPI(每显示器缩放/2018年)

前言

WinForms 和 WPF 都支持高 DPI,但是在默认情况下,不是未开启,就是效果不尽人意。例如,默认情况下,WPF 程序在单个高分屏上表现良好,但是如果把窗口拖动到不同的窗口上去,就会变得模糊。

关于不同的 DPI 缩放(感知)类型,请在此查看:https://docs.microsoft.com/zh-cn/windows/desktop/hidpi/high-dpi-desktop-application-development-on-windows

环境

  • Windows 10 1809
  • .NET Framework 4.7.2
  • Visual Studio 2017 15.9.4

所用环境是发文时最新稳定版。条件所限,其他环境请自行测试。

WPF

默认情况下,WPF 只支持单显示器的 DPI 缩放,在移动到缩放比例不同的显示器时,仍使用系统缩放,导致模糊。下面介绍开启Per monitor DPI awareness的方法。

你可能感兴趣的:(WPF,WinForms,C#,DPI,高分屏)