winforms - 由于 Chromium 中 Windows 设置中的 DPI 更改而导致网页扭曲

标签 winforms chromium cefsharp

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

这是它的样子,

enter image description here

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

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

最佳答案

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

  1. 右键单击您的项目并选择“添加”->“新建项目”
  2. 选择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。

关于winforms - 由于 Chromium 中 Windows 设置中的 DPI 更改而导致网页扭曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042794/

相关文章:

c# - 如何中止多个线程?

c# - DataGridView 的魔力

c# - WinForm 窗体的新实例

google-chrome - 如何在 Chrome App 中唯一标识 Chrome OS 设备

javascript - CefSharp.Winforms 通过 javascript 关闭选项卡

c# - .Net 形式焦点

delphi - Chromium:如何获取加载页面的所有形式

c++ - Qt 5.4 应用程序可以在 pre win7 中调试吗

wpf - CefSharp 使用浏览器登录加载页面

javascript - 如何向网站提供虚假 GPU 信息