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

					

参考