我的Chromium浏览器对象不会显示在Winform中

问题描述:

我正在使用.Net WebBrowser对象,但不喜欢兼容模式工作的混乱方式。所以我切换到CEFSharp对象。我的Chromium浏览器对象不会显示在Winform中

但是,该对象不会显示在我的表单中。我用CEFSharp看了一下示例Winform项目,但它似乎没有将它显示在一个winform中,而是将它作为一个单独的应用程序运行,而不是我想要的。

我想我错过了一些最初必须设置的明显方法或属性。在下面的代码中,我有我用于CEFSharp的内容,并且您将看到两行注释,这是我使用的.Net WebBrowser的工作。

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using CefSharp.WinForms; 

namespace GoogleSiren 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     ChromiumWebBrowser myBrowser = new ChromiumWebBrowser("http://wwww.cnn.com"); 
     //WebBrowser myBrowser = new WebBrowser(); 

     //myBrowser.Navigate("http://www.cnn.com"); 
     myBrowser.Location = new Point(200, 200); 
     myBrowser.Size = new Size(500, 300); 
     this.Controls.Add(myBrowser); 
    } 
} 

}

+0

可能的重复http://*.com/questions/26307444/cefsharp-winforms-web-browser-wont-display?rq=1注意:不要指望CefSharp是1比1的下降对于MS'WebBrowser' API明智。 – jornh 2015-02-07 23:46:07

+0

非常感谢。这确实是一个骗局,因为我添加了Cef.Initialize(),它的工作原理。我在分发中看到的例子将它作为一个单独的应用程序产生,并且在那里没有那个电话。我不明白的是,为什么当我搜索的时候,我没有看到这个蠢事。 – user461051 2015-02-08 22:36:32

我的代码是缺少Cef.Initialize()调用。一旦我补充说,它运作良好。

尝试设置的大小和位置作为构造函数的一部分:

ChromiumWebBrowser myBrowser = new ChromiumWebBrowser("http://wwww.cnn.com") 
{ 
    Location = new Point(200, 200), 
    Size = new Size(500, 300) 
}; 
this.Controls.Add(myBrowser);