そこで、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ブラウザコントロールを作成し、ページをロードします(YAY !!)。さて、私がやりたいのは、ListViewでのユーザーの選択に基づいており、ページを_http://www.imdb.com
_から別のものに変更したいと思います。本質的には、IE BrowserコンポーネントからWebBrowser.Navigate( ... )
と同じことを行う方法を探していますが、CefSharp.WinForms内にあります。
ブラウザの初期化後にURLを変更する方法がない場合は、かなりばかげている(そして無意味な)ようです。そのため、論理的には、必須方法があります。
_browser.Address
_は、コンポーネント自体の中で見つけることができる限り近いですが、読み取り専用のプロパティです。
この件に関してご協力いただきありがとうございます。
コメントでMajedDHが指摘しているように、この正確で非常に明確な質問に対する正しい解決策は次のとおりです。
WPFバージョンにはChromiumWebBrowser.Load(string 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コントロールのメソッドとの整合性も向上しています。