控件内的 CefSharp

CefSharp inside a Control

当我尝试将 CefSharp 添加到面板或组框时,它不显示任何内容(我的意思是网络浏览器不显示,即使是空白页面,也只有控件背景可见,就好像有没有添加任何内容)。

但是当我改用"Me"时,它工作正常。这是为什么?不可以随便加吗?


Public Class Form_Main  
    Private WithEvents chromeBrowser As ChromiumWebBrowser
    Public Sub InitializeChromium()
        InitializeComponent()
        Dim CEF_settings As New CefSettings With {
            .CachePath = "Cache"
        }
        CefSharp.Cef.Initialize(CEF_settings)
        chromeBrowser = New ChromiumWebBrowser("www.google.com") With {
            .Dock = DockStyle.Fill
        }
        Panel1.Controls.Add(chromeBrowser) 'With Me.Controls.Add(chromeBrowser) it works
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        InitializeChromium()
    End Sub
End Class

我不知道为什么,但将方法名称更改为 "New" 可以解决问题。

所以不用

Public Sub InitializeChromium()
'Stuff"
End Sub

一定是

Public Sub New()
'Stuff"
End Sub

现在网络浏览器无论放在什么地方都会显示。

在您的计划中,您不得使用 InitializeComponent()。 从所有代码中删除它。