WebView2 応用テクニック
コンテキストメニューを非表示にする
WebView2コントロール上で右クリックで表示されるコンテキストメニューを表示しないよう設定できます。
サンプル
CoreWebView2.Settings.AreDefaultContextMenusEnabled
プロパティでコンテキストメニュー表示の有効/無効を設定します。
デフォルトは表示する(true)になっていますので、表示しない(false)に設定します。
ContextMenuRequestedイベントも発生しなくなります。
注意として、現在表示中のページに対してはプロパティの設定は反映されません。
設定後に表示したページに対して反映されます。
'WebView2の初期化完了時にコンテキストメニューを非表示に設定する
Private Sub webView2_CoreWebView2InitializationCompleted(sender As Object, e As Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs) Handles webView2.CoreWebView2InitializationCompleted
wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled = False
End Sub
'クリックする度、コンテキストメニュー表示の有効/無効が切り替わる
Private Sub btnVisible_Click(sender As Object, e As EventArgs) Handles btnVisible.Click
'現在表示中のページに対してはプロパティの設定は反映されない。次回表示したページに対して反映される。
wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled = Not wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled
wv2.CoreWebView2.Navigate("https://web.biz-prog.net/")
End Sub
//WebView2の初期化完了時にコンテキストメニューを非表示に設定する
private void webView2_CoreWebView2InitializationCompleted(object sender, Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{
wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;
}
//クリックする度、コンテキストメニュー表示の有効/無効が切り替わる
private void btnVisible_Click(object sender, EventArgs e)
{
//現在表示中のページに対してはプロパティの設定は反映されない。次回表示したページに対して反映される。
wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled = !wv2.CoreWebView2.Settings.AreDefaultContextMenusEnabled;
wv2.CoreWebView2.Navigate("https://web.biz-prog.net/");
}
