自助推荐
立即入驻

vb.net用webview2嵌入网页的一些设置

博客3年前更新 桔子雨
4,357 00

WebBrowser万年不变的是IE内核,对html5支持不友好。而在wpf开发中嵌入WebBrowser会自动显示在其他控件上面,不好处理。自从微软edge拥抱chromiun后又开发了webview2。因为是基于chromiun的所以对web的兼容性很好。且.net6中已经不支持WebBrowser。因此有必要记录一下常用开发。

webview2不是标准控件,需要从nuget中引入。如下图

vb.net用webview2嵌入网页的一些设置

初始化webview2控件

Private Async Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    Await WebView21.EnsureCoreWebView2Async()  '必写,将webview2与浏览器核心异步,初始化控件
    WebView21.BackColor = Color.Red
    WebView21.CoreWebView2.Settings.AreDefaultContextMenusEnabled = False  '禁止右键菜单
    WebView21.CoreWebView2.Settings.AreDevToolsEnabled = False   '禁止开发模式
    WebView21.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = False  '禁止快捷键
    WebView21.CoreWebView2.Settings.IsZoomControlEnabled = False   '禁止缩放
'添加打开新窗口的事件
    AddHandler WebView21.CoreWebView2.NewWindowRequested, AddressOf CoreWebView_新窗口请求
End Sub

因为webview2控件没有直接关联NewWindowRequested事件所以需要我们自定义新窗口事件

    Private Sub CoreWebView_新窗口请求(sender As Object, args As CoreWebView2NewWindowRequestedEventArgs)
        args.NewWindow = WebView21.CoreWebView2  '在webview2中打开新连接
        args.Handled = True  '已处理
    End Sub

打开网址的两种方法

WebView21.Source = New Uri("https://www.qq.com")
WebView21.CoreWebView2.Navigate("https://www.baidu.com")

注意:在wpf中引入nuget包后还要再xaml中进行如下引用

xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"

WPF中WebBrowser不显示脚本错误的方法之vb.net https://www.juziyu.cn/743.html

© 版权声明

相关文章