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

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

主站蜘蛛池模板: 国产精品无码无卡毛片不卡视频 | 国产精品边做奶水狂喷有码 | 国产精品无码d∨d在线观看 | 国产精品午夜爆乳美女视频免费 | 国产成人三级在线视频网站观看 | 国产美女被遭 | 99久久久无码欧洲精品免费 | 91精品宅男在 | 国产精品免费在线播放 | 国产成人高清激情视频在线观看 | 国产91精品高潮白浆喷水 | 国产末成年av一区二区三区 | 国产成人综合在线视频 | 成人午夜性a一级毛片美女 成人午夜性a一级毛片免费 | 成网人免费视频免费 | 18禁裸体女免费观看 | 国产福利片在线观不卡 | 高潮潮喷 | 精品麻豆视频播放 | 国产原创剧情化妆师在线观看 | 操婷婷色六月中文字幕 | 精品人妻一区二区三区日产乱码 | 国产黑丝精品在线 | 国产做无码视频在线 | 国产精品亚洲专区无码性色 | 91久久精品国产性色tv | 成人动漫免费看一区二区三区 | 国产一级毛片中文字幕av | 国产一区二区二区 | 国产精品美乳在线观看 | 国产高清一国产av麻豆网 | 国产精品白浆无码流出免费看 | 国产成a人亚洲精v品在线观看 | 国产三级在线观看免费 | 国产一区二区三区在线免费 | 国产麻豆精品三级 | 国产美女视频一区二区二三区 | 97人妻碰碰碰爽爽爽 | 国产精品日韩欧美一区二区 | 国产视频在线观看福利 | 国产亚洲欧美日韩精品一区二区 |