如何使用CefSharp WinForms更改URL

本文关键字:更改 URL WinForms CefSharp 何使用 | 更新日期: 2023-09-27 17:50:30

所以,我决定给CefSharp另一个尝试,抓住CefSharp。Winforms nuget,并放入以下代码:

    public CefSharp.WinForms.ChromiumWebBrowser browser;
    public Form1() {
        InitializeComponent();
        browser=new CefSharp.WinForms.ChromiumWebBrowser( "http://www.imdb.com" ) {
            Dock=DockStyle.Fill,
        };
        tabPage2.Controls.Add( browser );
    }

…这工作。它创建web浏览器控件,并加载页面(耶!!)。现在,我想做的是,基于ListView中的用户选择,我想把页面从http://www.imdb.com改变为别的东西。本质上寻找一种方法来做同样的事情,从IE浏览器组件的WebBrowser.Navigate( ... ),但在CefSharp.WinForms.

看起来相当愚蠢(而且毫无意义),如果在浏览器初始化后没有办法改变URL,那么,逻辑上,必须有方法。

browser.Address是最接近我能找到的组件本身,但它是一个只读属性。

事先感谢您对此事的帮助。

如何使用CefSharp WinForms更改URL

正如Majed DH在评论中指出的,这个问题的正确解决方法是:

有一个chrome webbrowser。在WPF版本中加载(字符串url)。我我想它可能在winform版本中也有。 - Majed DH May 24 at 10:29

更具体地说,一个关于如何完成的代码示例如下:
public CefSharp.WinForms.ChromiumWebBrowser browser;
public Form1() {
    InitializeComponent();
    browser=new CefSharp.WinForms.ChromiumWebBrowser( "http://www.imdb.com" ) {
        Dock=DockStyle.Fill,
    };
    this.Controls.Add( browser );
    // Simply pass the URL you wish to navigate to, to the 'Load' method
    browser.Load( "http://www.google.ca" );
}

在CefSharp中,与本地WebBrowser控件的Navigate方法功能等效的方法是Load

脚注:在进一步的研究中,没有明确的指示,为什么CefSharp项目的开发人员选择使用Load,而Navigate更准确地描述了动作,也更符合内置的WebBrowser控件的方法。