Winforms DPI 缩放搞砸了 Windows 10 周年更新和 Visual Studio 2015 更新 4

Winforms DPI scaling messed up with Windows 10 anniversary update and Visual Studio 2015 Update 4

我正在 运行使用 Windows 10 周年更新更新我的 Winforms 应用程序。

在 Visual Studio 2015 Update 4 调试器下 运行ning 时,UI 布局完全混乱。有些控件小得多,有些则大得多,鼠标命中检测已关闭,等等。

当我 运行 exe 本身,没有调试器时,它显示正确。

此外,当 运行在之前的 Windows 10 build 1511 和 Visual Studio 2015 Update 3 中运行时,该应用程序也可以正常显示。

所以问题要么出在周年纪念版本上,要么出在 Visual Studio 2015 update 4 上。(我无法使用 Visual Studio 2015 update 3 尝试周年纪念版本,因为后一个版本不再可用可用。)

这是什么原因?

我已验证 app.vshost.exe.configapp.exe.config 具有相同的内容,并且两者都没有 DPI 感知属性。

编辑:我运行 应用程序使用"Start without debugging" 并且然后 附加了调试器。附加会导致 UI 调整为高 DPI 未缩放视图,即所有内容均采用原始屏幕分辨率 - 整个 UI 中的像素非常小。这与前两种情况都不一样,更令人费解。

编辑 2:注销并重新登录后,应用程序显示正常。所以至少有一个解决方法。显然,应用程序不能这样发布,所以仍然在第一时间寻找避免问题的方法。

请务必在您的应用程序清单中或通过调用 SetProcessDpiAwareness 指定 DPI 感知级别。

您是否在进程中加载​​任何 WPF 内容?