Private Sub wVBrowser_CoreWebView2InitializationCompleted(sender As Object, e As CoreWebView2InitializationCompletedEventArgs) Handles wVBrowser.CoreWebView2InitializationCompleted
AddHandler wVBrowser.CoreWebView2.NewWindowRequested, AddressOf CoreWebView2_NewWindowRequested
End Sub
Private Sub CoreWebView2_NewWindowRequested(ByVal sender As Object, ByVal e As Microsoft.Web.WebView2.Core.CoreWebView2NewWindowRequestedEventArgs)
e.Handled = True
End Sub
4条答案
按热度按时间ibrsph3r1#
要阻止链接在新窗口中打开,您可以订阅
CoreWebView2_NewWindowRequested
。要做到这一点,最简单的方法是先订阅
CoreWebView2InitializationCompleted
。在
WebView2
控件的属性窗口中,双击CoreWebView2InitializationCompleted
-这将自动生成事件处理程序:现在添加
CoreWebView2_NewWindowRequested
事件处理程序,并将e.NewWindow
设置为当前的CoreWebView2
。代码如下(假设您的
WebView2
控件名为webView21
):现在链接在同一个窗口中打开(您的
WebView2
控件)。kkbh8khc2#
为了补充@Poul巴克的答案,我在VB .NET中遇到了这个问题,但是所有的答案都是C#的,所以如果有人需要的话,我会把它贴在这里。
首先确保导入以下内容:
然后添加这2个事件,只是用Webview 2控件名替换wVBrowser。
xoefb8l83#
我尝试像保罗巴克上面提到的它为我工作,可能是你的活动订阅的地方可能是错误的,尝试像下面。
在CoreWebView 2初始化后订阅NewWindowRequested事件。
例如:
快乐编码...!!!
7vhp5slm4#
a good practice让您的应用程序可以像真实的的浏览器一样处理新的选项卡