由于 Chromium 中 Windows 设置中 DPI 的变化导致网页失真

Distortion in webpage due to change in DPI in Windows settings in Chromium

运行 当我将鼠标悬停在 DOM 元素上时,显示设置设置为 125% 的 Win 10 计算机上的 CefSharp/WinForms/MinimalExample 导致网站出现奇怪的失真。

这是它的样子,

如您所见,当我将鼠标悬停在地址文本框上时,文本框会跳动。然后我尝试切换到 html5test.com,它仍然有同样的问题。

仅当显示设置设置为 100% 以外的任何值时才会出现这种情况。这是一个错误,还是我需要更改某些内容?

好的,其实很简单。它与 CefSharp 无关,但您需要制作 WinForm DPIAware,最简单的方法是

  1. 右键单击您的项目并 select 添加 -> 新项目
  2. Select Application Manifest File
  3. 如果您使用的是 VS 2015,请搜索 dpiaware 术语。取消注释代码并重建,你就设置好了。

如果您没有 VS 2015,请复制此代码,

<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>

并将其粘贴到 <assembly> 标签内。保存并重建,您的 WinForm 是 DPI Aware。