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/"); }