CefSharp High DPI问题的解决

Posted xwcloud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CefSharp High DPI问题的解决相关的知识,希望对你有一定的参考价值。

使用CefSharp控件,在部分高分辨率的电脑中(显示缩放比例非100%,而是120%或者125%等)会出现以下一些情况:

技术分享图片

技术分享图片

显示的页面中出现了黑边,且按钮定位也偏了,比如点击【图层】按钮,需要点击上面黑色边框中的相对位置。

 

解决方案:

1、在当前电脑的桌面,右键-显示设置,把显示比例调整为100%(需要重启电脑生效),这时再看,显示就正常了;

2、在当前项目中,添加一个【应用程序清单文件】(app.manifest),在根节点(assembly)下,添加以下代码,重新运行程序,则和方法1的效果就一样了:

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

3、使用CefSharp自带的方法:

找到Cef.Initialize(setting);语句,在其下添加Cef.EnableHighDPISupport();

当程序加载了ChromiumWebBrowser控件后,就会把当前的显示比例调整为100%了

            Cef.Initialize(setting);
            Cef.EnableHighDPISupport();

 

优先选择 【方法3】

以上是关于CefSharp High DPI问题的解决的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 和 High-DPI:在运行时创建的控件位置错误

Qt high DPI

winform 适配high dpi

当我在 Spyder 中运行它以及直接在终端中运行它时,HIGH DPI Tkinter 重新缩放

等待页面加载 CefSharp

Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0 - Round 2) E. Buy Low Sell High(代码片