午夜视频在线观看区二区-午夜视频在线观看视频-午夜视频在线观看视频在线观看-午夜视频在线观看完整高清在线-午夜视频在线观看网站-午夜视频在线观看亚洲天堂

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

WebView2 在 Windows Forms 應用程序中的實踐

admin
2025年3月8日 14:39 本文熱度 384

在現代桌面應用開發中,WebView2控件為開發者提供了一種將Web技術無縫集成到Windows應用程序的強大方式。微軟的WebView2基于Chromium內核,為開發者提供了極其靈活的跨平臺Web內容展示解決方案,用這個方案完全可以做上位機開發,結合Web的靈活性,與Winform的穩定性。

代碼解析

命名空間引入

using System;
using System.Windows.Forms;
using Microsoft.Web.WebView2.Core;

關鍵命名空間:

  • System.Windows.Forms
    :提供Windows窗體基礎
  • Microsoft.Web.WebView2.Core
    :WebView2核心功能

完整代碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Web.WebView2.Core;

namespace AppWebView2
{
    public partial class Form5 : Form
    {
        public Form5()
        
{
            InitializeComponent();
            InitializeWebView();
        }

        private async void InitializeWebView()
        
{

            await webView21.EnsureCoreWebView2Async(null);

            // 設置虛擬主機映射  
            webView21.CoreWebView2.SetVirtualHostNameToFolderMapping(
                "app.local",
                Path.Combine(Application.StartupPath, "dist"),
                CoreWebView2HostResourceAccessKind.Allow
            );

            webView21.Source = new Uri("https://app.local/index.html");
        }
    }
}

?

關鍵技術點詳解

異步初始化

EnsureCoreWebView2Async(null) 是一個關鍵的異步方法,確保WebView2運行時正確加載。

虛擬主機映射

SetVirtualHostNameToFolderMapping 方法提供了一種安全的方式將本地文件夾映射到虛擬主機:

  • 第一個參數:虛擬主機名(app.local
  • 第二個參數:本地文件夾路徑
  • 第三個參數:資源訪問權限

資源加載

使用 https://app.local/index.html 加載本地資源,這是一種安全且靈活的方式。

最佳實踐

目錄結構建議

YourApp/

├── dist/                   # Vue構建輸出目錄
│   ├── index.html
│   ├── assets/
│   └── ...

└── YourApp.exe             # 可執行文件

注意:dist目錄copy到bin目錄下面。

高級功能

JavaScript交互

C# 調用 JavaScript:

await webView21.CoreWebView2.ExecuteScriptAsync("console.log('Hello from C#')");

Vue 調用 C#:

window.chrome.webview.postMessage(JSON.stringify({
  type'action',
  data: { ... }
}));

DevTools支持

webView21.CoreWebView2.OpenDevToolsWindow();

性能與安全

性能優化

  • 使用增量構建
  • 壓縮靜態資源
  • 懶加載

安全配置

// 設置安全策略
webView21.CoreWebView2.Settings.IsScriptEnabled = true;
webView21.CoreWebView2.Settings.AreDefaultScriptDialogsEnabled = true;

禁用右鍵

// 禁用默認上下文菜單  
webView21.CoreWebView2.ContextMenuRequested += (sender, args) =>
{
    // 阻止默認上下文菜單  
    args.Handled = true;
};

結論

WebView2為Windows桌面應用程序提供了一種現代、高效的Web內容集成方案。通過正確配置和使用,可以創建功能強大、性能卓越的混合應用程序。

希望這篇詳細的技術文章能幫助您深入理解WebView2在Windows Forms中的實踐!


該文章在 2025/3/8 14:39:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 成人黄色大片 | av日韩中文地址 | av无码免费一区二区三区 | 国产制服丝袜无码视频 | 国产自国产在线观看免费观看 | 加勒比久久综合久久伊人 | 精品无码一区 | 国产成人女人毛片视频在线 | 国产成年女人毛片80s网站 | 国产91精品在线观看 | 国内免费一区二区三区 | 91亚洲福利| 白嫩美女国产在线观看 | 国产萌白酱喷水视频在线观看 | 国产ar免费视频男人的天堂 | 91精品综合久久久久m3u8 | 国产熟女亚洲精品明星自拍 | 2025国自产一点都不卡 | av香港三级级在线播放 | 91在线无码精品秘?入口91 | 91精品国产闺蜜国产在线闺蜜 | 国产交换配乱婬视频a免费 国产交换配乱婬视频手机版 | 国产成在线观看免费视频成本人 | 国产在线观看第一页 | 精品视频一区二区三区中文字幕 | 成人亚洲欧美日韩在线观看 | av毛片在线 | 苍井空一区二区三区av高清 | 国产一区二区免费播放 | 国产av无码专区亚洲精品 | av免费不卡国产观看 | 国产成人牲交视频在线 | 国产白浆精品 | 东京热av加勒比一区二区 | 成人精品一区二区三区在线观看 | 97色精品| 2025国自产一点都不卡 | 国产a级精品一级毛片 | 国产精品伊人久久久久 | av无码精品人妻色欲 | 国产中文亚洲熟女日韩 |