CefSharp.WinForms“ Dock = DockStyle.Fill”无效,黑边。如何使ChromiumWebBrowser填充TBForm?

时间:2018-10-21 08:33:48

标签: c# winforms cefsharp

public partial class TBForm : Form
{
    private readonly ChromiumWebBrowser browser;

    public TBForm()
    {
        InitializeComponent();

        browser = new ChromiumWebBrowser("www.baidu.com")
        {
            Dock = DockStyle.Fill,
        };

        this.Controls.Add(browser);
    }
}

我得到了这个结果

CefSharp.WinForms “ Dock = DockStyle.Fill”无效,黑色边缘。

如何使ChromiumWebBrowser填充TBForm?

3 个答案:

答案 0 :(得分:3)

我的经验是这是由于使用较高的DPI设置引起的。我在应用程序的入口点使用了推荐的辅助方法:

Cef.EnableHighDPISupport()

有关更多详细信息,请参见此处: https://github.com/cefsharp/CefSharp/wiki/General-Usage#high-dpi-displayssupport

答案 1 :(得分:2)

您是否尝试过使用CefCommandLineArgs禁用GPU引擎?

声明时:

service cloud.firestore {
  match /databases/{database}/documents {

    match /users/{users} {

    // Check if existing email is same as you trying to write/read

      allow read, write : if resource.data.email == request.auth.token.email;
    }

  }
}

初始化之前:

CefSettings settings = new CefSettings();

尝试添加下一行代码:

Cef.Initialize(settings);

答案 2 :(得分:0)

您的Windows屏幕分辨率未设置为100%。 参见下图:

enter image description here

这是因为CefSharp正在使用GPU进行渲染,并且将取决于您的屏幕分辨率设置。

使用此选项可将渲染固定为主机显示的最高分辨率:

Cef.EnableHighDPISupport();

这将禁用GPU渲染:

var settings = new CefSettings();
settings.CefCommandLineArgs.Add("disable-gpu", "1");
Cef.Initialize(settings);