簡體   English   中英

CefSharp.WinForms "Dock =DockStyle.Fill" 沒效果,黑邊。如何讓ChromiumWebBrowser填充TBForm?

[英]CefSharp.WinForms "Dock =DockStyle.Fill" no effect, black edge.how to make the ChromiumWebBrowser fill the TBForm?

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?

您是否嘗試過使用 CefCommandLineArgs 禁用 GPU 引擎?

當您聲明:

CefSettings settings = new CefSettings();

初始化前:

Cef.Initialize(settings);

嘗試添加下一行代碼:

settings.CefCommandLineArgs.Add("disable-gpu", "1");

我的經驗是這是由於使用更高的 DPI 設置造成的。 我在應用程序的入口點使用了推薦的輔助方法:

Cef.EnableHighDPISupport()

有關更多詳細信息,請參見此處: https : //github.com/cefsharp/CefSharp/wiki/General-Usage#high-dpi-displayssupport

您的 Windows 屏幕分辨率未設置為 100%。 見下圖:

在此處輸入圖片說明

這是因為 CefSharp 使用 GPU 進行渲染並且將取決於您的屏幕分辨率設置。

使用這將修復渲染到主機顯示最高分辨率:

Cef.EnableHighDPISupport();

這將禁用 GPU 渲染:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM