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

CefSharp High DPI问题的解决-LMLPHP

CefSharp High DPI问题的解决-LMLPHP

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

解决方案:

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】

05-11 11:28