【C#】WebBrowserコントロールをEdgeに対応させる

何か.NET標準のWebBrowserコントロールを使ってるとIEをバージョンアップしろだとか
スクリプトエラーのポップアップがうるさかったのでEdgeで動かす方法について調べてみました。


対応方法

NuGetから導入できる「Microsoft.Toolkit.Forms.UI.Controls.WebView」という
パッケージを使ってWebViewコントロールを使えば動作ブラウザをEdgeにできるようです。
※ NuGetは.NETでのパッケージマネージャです。


必要環境

必要環境としては以下の通りで、Windows7だとかは諦めないといけないみたいです。

OS Windows 10
.NET Framework 4.6.2以降
Visual Studio 2017

導入方法

NuGetパッケージマネージャを開く

  1. 導入対象のプロジェクトに対して右クリックをして、「NuGetパッケージの管理」をクリックします。
  2. 以下の画像の通りに「Microsoft.Toolkit.Forms.UI.Controls.WebView」で検索し、
    対象のパッケージを選択します。
  3. NuGetパッケージマネージャの右側にインストール先のプロジェクト一覧が表示されるので
    導入対象のプロジェクトにチェックを入れます。
  4. あとはインストールをするだけです。

ツールボックスに追加する。

ツールボックスで右クリックをして「アイテムの選択」をクリックして、
「Microsoft.Toolkit.Forms.UI.Controls.WebView.dll」を追加します。

※DLLファイルは以下のフォルダに格納されているはずです。

ツールボックスに以下の通りに「Microsoft.Toolkit.Forms.UI.Controls.WebView」が
追加されていれば準備完了です。


使用方法

コントロールを画面に配置するだけです。
細かな点は違いますが基本的なメソッドは同じ名前なので
違和感なく使えます。

デザイナ上では画像の通りにコントローラに模様がついているので
見分けがつけやすいです。


動作確認

左に「Microsoft.Toolkit.Forms.UI.Controls.WebView」、
右に「WebBrowser」を配置したアプリでYahooのHPを表示した状態です。

左には通常通りに表示されていますが、
右ではIEのバージョンに関する警告が表示されています。

更に別ページを開いてみてもレイアウトが大きく崩れています。

ついでに数回以下の警告ウィンドウも表示されます。


まぁ、そもそもこのコントロールを使うことがないのでアレですが…( ˘ω˘)スヤァ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください