【问题标题】:My Chromium browser object won't display in Winform我的 Chromium 浏览器对象不会在 Winform 中显示
【发布时间】:2015-02-07 19:29:20
【问题描述】:

我使用的是 .Net WebBrowser 对象,但不喜欢兼容模式的混乱方式。所以我切换到 CEFSharp 对象。

但是,该对象没有显示在我的表单中。我查看了带有 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);
    }
}

}

【问题讨论】:

  • stackoverflow.com/questions/26307444/… 的可能副本 注意:不要期望 CefSharp 会成为 MS WebBrowser API 明智的一对一选择。
  • 非常感谢。这确实是一个骗局,因为我添加了 Cef.Initialize() 并且它有效。我在发行版中查看的示例将它作为一个单独的应用程序生成,并且在那里没有那个调用。我不明白为什么当我搜索时我没有看到这个骗局。

标签: c# .net cefsharp


【解决方案1】:

尝试将 Size 和 Location 设置为构造函数的一部分:

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

【讨论】:

    【解决方案2】:

    我的代码缺少 Cef.Initialize() 调用。一旦我添加它就可以正常工作。

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 2013-10-02
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多