WebView2コントロールが見えない
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2023/7/21 16:58:44
ただ貼りつけただけでは動きません。
使用前に初期化メソッド(EnsureCoreWebView2Async) を呼んでおく必要があります。
使用前に初期化メソッド(EnsureCoreWebView2Async) を呼んでおく必要があります。
' 案1
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'初期化処理メソッドを呼び出す(非同期実行)
WebView21.EnsureCoreWebView2Async()
End Sub
Private Sub WebView21_CoreWebView2InitializationCompleted(sender As Object, e As Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs) Handles WebView21.CoreWebView2InitializationCompleted
'CoreWebView2InitializationCompleted イベントで初期化完了が通知されてきたら使用可能
WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
End Sub
End Class
' 案2
Public Class Form1
Private Async Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'初期化処理メソッドを呼び出す(Await にして、完了まで待ち合わせ)
Await WebView21.EnsureCoreWebView2Async()
'初期化が完了したら使用可能
WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
End Sub
End Class
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2023/7/21 17:08:01
もう少し補足すると:
> 'CoreWebView2InitializationCompleted イベントで初期化完了が通知されてきたら使用可能
> WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
初期化の成否も考慮する場合は、CoreWebView2InitializationCompleted イベントで
イベント引数から e.IsSuccess を確認するようにします。
初期化に失敗した場合は、失敗の理由を e.InitializationException から得られます。
> 'CoreWebView2InitializationCompleted イベントで初期化完了が通知されてきたら使用可能
> WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
初期化の成否も考慮する場合は、CoreWebView2InitializationCompleted イベントで
イベント引数から e.IsSuccess を確認するようにします。
初期化に失敗した場合は、失敗の理由を e.InitializationException から得られます。
If e.IsSuccess Then
WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
ElseIf e.InitializationException IsNot Nothing Then
'初期化エラー
MessageBox.Show(e.InitializationException.ToString())
End If
投稿者 hasumoto  (その他)
投稿日時
2023/7/22 09:03:25
ご回答ありがとうございます。
出来そうな感じがします。
直ぐに作業できないので、解決した時は、報告します。
よろしくお願いします。
出来そうな感じがします。
直ぐに作業できないので、解決した時は、報告します。
よろしくお願いします。
投稿者 hasumoto  (その他)
投稿日時
2023/7/22 13:46:51
ありがとうございます。
出来ました。
出来ました。
フォーム1に、WebView2コントロールを貼り付けて、再生ボタンを押しました。
しかし、フォーム1上に、WebView2コントロールが見えません。
Visibleは、trueになっています。
コントロールは見えませんが、クリックして試してみました。
Private Sub WebView21_Click(sender As Object, e As EventArgs) Handles WebView21.Click
MsgBox("あ")
End Sub
上の様に書くと、クリックした時、メッセージボックスは出ます。
Private Sub WebView21_Click(sender As Object, e As EventArgs) Handles WebView21.Click
WebView21.CoreWebView2.Navigate("https://www.google.com/?hl=ja")
End Sub
上の様に書くと、クリックした時、下記の様に、エラーが出ます。
Obujyect reference not set to an instance of an object
どうしたら良いでしょうか?
よろしくお願いします。
今回このコントロールと、VB2022使うの初めてです。