C#/VB.NET フォームにWebページを表示する方法 WebView2 Chromium Edge対応

C#やVB.NETでのフォームにWebページを表示する方法について解説します。

フォームにWebページを表示することはできますか?

WebView2コントロールを利用することでフォームにWebページを表示することができます。Edgeにも対応しています。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    フォームにWebページを表示する

    WebView2

     WebView2を利用することで、フォームにchrome Edgeに対応したWebページを表示することができるようになります。WebView2は初期の状態ではツールボックスに入っていないので、Visual Studioの機能のNugetから入手します。

    チェック!

    最新のWindowsアップデートがかかっていない場合は、WebView2のランタイムの導入が必要になる可能性があります。

    NugetからWebView2コントロールを入手する

      ツール>NuGetパッケージマネージャ>ソリューションのNuGetパッケージの管理を選択します。

    nugetパッケージマネージャー

    NuGetの管理画面が開いたら、参照タブをクリックし、。検索タブにWebView2と入力して検索します。

    一番上にMicrosoftから提供されているWebView2が出てきますので選択し、追加するプロジェクトを選択してインストールを選択します。

    Nuget参照

    これでWebView2コントロールを利用できるようになりました。

    ツールバー

    スクリプトからURLを設定して表示する

     WebView2コントロールにWebページを表示するには、WebView2コントロールのsoureプロパティにUriオブジェクトを指定します。Uriオブジェクトは、new演算子とURLで以下のように記述し生成します。

    以下は、テキストボックスに入力したURLのサイトをボタンを押すことで表示できるサンプルになります。

            private void button1_Click(object sender, EventArgs e)
            {
                //URLをuriに変換
                Uri uri = new Uri(textBox1.Text);
    
                //webView2のsourceプロパティにuriをセット
                webView21.Source = uri;
            }
    Private Sub button1_Click(sender As Object, e As EventArgs)
                'URLをuriに変換
                Dim uri As Uri = New Uri(textBox1.Text)
    
                'webView2のsourceプロパティにuriをセット
                webView21.Source = uri
    End Sub

     このコードは、WebView2コントロールを使ってWebページを表示するためのものです。WebView2コントロールは、フォームにChromium Edgeに対応したWebページを表示することができます。

     このコードでは、ボタンを押すとテキストボックスに入力したURLをUriオブジェクトに変換し、WebView2のsourceプロパティに設定することでWebページを表示するという流れになります。

    スクロールバーの設定方法

     WebBrowserコントロールで表示するWebページにスクロールバーを表示することができます。そのためには、WebBrowserコントロールの「ScriptErrorsSuppressed」プロパティを「false」に設定して、「ScrollBarsEnabled」プロパティを「true」に設定する必要があります。

    webBrowser1.ScriptErrorsSuppressed = false;
    webBrowser1.ScrollBarsEnabled = true;
    webBrowser1.ScriptErrorsSuppressed = False
    webBrowser1.ScrollBarsEnabled = True

    Webページの読み込み進捗状況をプログレスバーで表示する

     Webページの読み込み進捗を確認するためには、WebBrowserコントロールに紐付いたProgressBarコントロールを利用することができます。

    private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
    {
        if (e.CurrentProgress > 0 && e.MaximumProgress > 0)
        {
            progressBar1.Value = (int)(e.CurrentProgress * 100 / e.MaximumProgress);
        }
    }
    Private Sub webBrowser1_ProgressChanged(ByVal sender As Object, ByVal e As WebBrowserProgressChangedEventArgs)
        If e.CurrentProgress > 0 AndAlso e.MaximumProgress > 0 Then
            progressBar1.Value = CInt(e.CurrentProgress * 100 / e.MaximumProgress)
        End If
    End Sub

    フォームにWebページを実装することができました。

    過去のWebBrowserコントロールは、IEの保守終了とともに最新のVisual Studioでは使えなくなっているので、WebView2に切り替えていきましょう。

    リスキリングでキャリアアップしてみませんか?

    リスキリング(学び直し)は、経済産業省が推奨しており、

    今だけ、最大70%のキャッシュバックを受けることができます。

    リスキリング 給付金が出るスクール紹介

    最大70%の給付金が出るおすすめのプログラミングスクール!

    国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

    興味のある方はすぐに確認しましょう。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次