使用C#将Internet Explorer浏览器嵌入Winforms界面

3
我想打开一个指定IP地址的网页,使用IE浏览器(为什么用IE?因为并非每个Windows都安装了Chrome或Firefox),将其显示在一个简单的Winforms窗口中。
上述网页是一个BI(商业智能)网页,会动态地更新自身。我希望用户在页面更新新的统计数据时可以坐着看着它。
事件流程如下:
- 用户将输入特定的IP地址,然后点击"获取网页"按钮。 - 新的Winform窗口将弹出,并在其中显示特定的网页。
此外,如果有隐藏IE导航面板的选项将是非常好的,因为我不想在这个窗口里提供浏览选项。
我尝试使用CefSharp,但我没有取得任何进展。我看到的每个示例都是用asp编写的。
这是目前我的代码,但它不起作用:
namespace BingoDesktopWindow
{
    public partial class BingoWin : Form
    {
        public BingoWin()
        {
            InitializeComponent();

            CefSettings settings = new CefSettings();
            CefSharp.Cef.Initialize(settings);

            ChromiumWebBrowser browser = new ChromiumWebBrowser("http://12.345.67.89/bingo/Default.html");
            this.browserPanel.Container.Add(browser);
        }
    }

谢谢!

1个回答

6

为什么不使用Winforms WebBrowser控件。 WinForms WebBrowserControl。您可以比IE更好地操作它。Web浏览器控件本身是从IE派生的,因此具有其所有功能。


谢谢。答案就在我眼前,我没有注意到它。WebBrowserControl 功能完美,但显然我们的 Web 应用程序不能与 IE 无缝配合工作。必须使用 Google Chrome 加载它。我通过 WebKit 解决了这个问题(链接)。 - altgov3en
1
WebBrowser控件存在一些问题。例如,它的默认仿真模式是IE 7,您需要更改注册表值才能使其模拟其他IE版本。即使它模拟了IE 11,它仍然缺少一些真正的IE 11功能。例如,在真正的IE 11中,textarea元素支持实时拼写检查,但WebBrowser控件不支持。 - Silent Sojourner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接