我的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);
}
}
}
答
我的代码是缺少Cef.Initialize()调用。一旦我补充说,它运作良好。
答
尝试设置的大小和位置作为构造函数的一部分:
ChromiumWebBrowser myBrowser = new ChromiumWebBrowser("http://wwww.cnn.com")
{
Location = new Point(200, 200),
Size = new Size(500, 300)
};
this.Controls.Add(myBrowser);
可能的重复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
非常感谢。这确实是一个骗局,因为我添加了Cef.Initialize(),它的工作原理。我在分发中看到的例子将它作为一个单独的应用程序产生,并且在那里没有那个电话。我不明白的是,为什么当我搜索的时候,我没有看到这个蠢事。 – user461051 2015-02-08 22:36:32