由于Chromium中Windows设置中的DPI更改而导致网页失真

时间:2016-03-16 17:27:05

标签: winforms chromium cefsharp

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

以下是它的外观,

enter image description here

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

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

1 个答案:

答案 0 :(得分:2)

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

  1. 右键单击您的项目,然后选择添加 - >新物品
  2. 选择Application Manifest File
  3. 如果您使用的是VS 2015,请搜索dpiaware字词。取消注释代码并重建,然后进行设置。
  4. 如果您没有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。