所以,我决定给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 );
}
......哪个有效。它创建了webbrowser控件,并加载页面(YAY !!)。现在,我想要做的是基于ListView中的用户选择,我想将页面从http://www.imdb.com
更改为其他内容。基本上寻找一种方法来从IE浏览器组件中执行与WebBrowser.Navigate( ... )
相同的操作,但是在CefSharp.WinForms中。
看起来相当愚蠢(而且没有意义),如果在初始化浏览器后无法更改URL,那么从逻辑上讲,必须成为一种方式。
browser.Address
尽可能接近组件本身,但它只是一个只读属性。
提前感谢您对此事的任何帮助。
答案 0 :(得分:14)
正如Majed DH在评论中指出的那样,正确解决这个非常明确的问题是:
WPF版本中有一个ChromiumWebBrowser.Load(字符串url)。一世 认为它也可能存在于winform版本中。 - Majed DH 5月24日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控件更加一致&# 39;方法。