本記事は2019年2月時点での情報になります。2021年4月時点ではMicrosoft.Web.WebView2が推奨されています。
Microsoft.Web.WebView2を利用してChromium版 Edgeで動作させる方法については以下の記事で紹介しているのでそちらを参照してください。
【C#】WebView2を利用し、Chromium Edgeに対応させる
何か.NET標準のWebBrowserコントロールを使ってるとIEをバージョンアップしろだとか
スクリプトエラーのポップアップがうるさかったのでEdgeで動かす方法について調べてみました。
対応方法
NuGetから導入できる「Microsoft.Toolkit.Forms.UI.Controls.WebView」という
パッケージを使ってWebViewコントロールを使えば動作ブラウザをEdgeにできるようです。
※ NuGetは.NETでのパッケージマネージャです。
Microsoft.Web.WebView2が推奨されているのでMicrosoft.Web.WebView2パッケージを利用するようにしましょう。
必要環境
必要環境としては以下の通りで、Windows7だとかは諦めないといけないみたいです。
OS | Windows 10 |
.NET Framework | 4.6.2以降 |
Visual Studio | 2017 |
導入方法
NuGetパッケージマネージャを開く
- 導入対象のプロジェクトに対して右クリックをして、「NuGetパッケージの管理」をクリックします。
- 以下の画像の通りに「Microsoft.Toolkit.Forms.UI.Controls.WebView」で検索し、
対象のパッケージを選択します。 - NuGetパッケージマネージャの右側にインストール先のプロジェクト一覧が表示されるので
導入対象のプロジェクトにチェックを入れます。 - あとはインストールをするだけです。
ツールボックスに追加する。
ツールボックスで右クリックをして「アイテムの選択」をクリックして、
「Microsoft.Toolkit.Forms.UI.Controls.WebView.dll」を追加します。
※DLLファイルは以下のフォルダに格納されているはずです。
C:\Users\[ユーザ名]\.nuget\packages\microsoft.toolkit.forms.ui.controls.webview\5.0.1\lib\net462
ツールボックスに以下の通りに「Microsoft.Toolkit.Forms.UI.Controls.WebView」が
追加されていれば準備完了です。
使用方法
コントロールを画面に配置するだけです。
細かな点は違いますが基本的なメソッドは同じ名前なので
違和感なく使えます。
デザイナ上では画像の通りにコントローラに模様がついているので
見分けがつけやすいです。
動作確認
左に「Microsoft.Toolkit.Forms.UI.Controls.WebView」、
右に「WebBrowser」を配置したアプリでYahooのHPを表示した状態です。
左には通常通りに表示されていますが、
右ではIEのバージョンに関する警告が表示されています。
更に別ページを開いてみてもレイアウトが大きく崩れています。
ついでに数回以下の警告ウィンドウも表示されます。
まぁ、そもそもこのコントロールを使うことがないのでアレですが…( ˘ω˘)スヤァ