如何用NanUI高效打造现代感的WinForm应用程序?

摘要:前言 今天大姚给大家分享一个强大的 .NET 开源框架,它利用 Web 技术(HTML5、CSS3、JavaScript)为 WinForm 应用程序构建现代化的用户界面:NanUI。 如果你正在寻找一个用于创建具有现代用户界面的 WinF
前言 今天大姚给大家分享一个强大的 .NET 开源框架,它利用 Web 技术(HTML5、CSS3、JavaScript)为 WinForm 应用程序构建现代化的用户界面:NanUI。 如果你正在寻找一个用于创建具有现代用户界面的 WinForm 应用程序的框架,NanUI 是一个不错的选择。 项目介绍 NanUI 是一个基于 .NET 平台的开源(MIT License)框架,旨在帮助开发者使用 HTML5、CSS3 和 JavaScript 构建具有现代感的 WinForm 应用程序用户界面。它底层依托于 Xilium.CefGlue 这是 Chromium Embedded Framework(CEF)在 .NET 环境下的官方绑定实现,通过嵌入完整的 Chromium 渲染引擎,使 WinForm 应用能够呈现 Web 技术驱动的富交互界面。 基本原理 官方介绍: 基本原理概括: Chromium Embedded Framework (CEF)是一个开源项目,一个用于将基于 Chromium 的浏览器嵌入其他应用程序的简单框架。 它提供稳定的 C/C++ API,支持多进程架构(Browser 进程 + Renderer/GPU 等子进程),具备完整的 HTML5 渲染、JavaScript 执行、网络请求、安全沙箱等能力。 NanUI 并未直接调用 CEF 的 C 接口,而是基于Xilium.CefGlue这是一个高质量的 .NET 封装库,将 CEF 的 C++ API 转换为 C# 可调用的托管接口。 环境要求 开发环境 Visual Studio 2019 或更高版本。 NET Framework 4.6.2 或更高版本 / .NET 6.0 或更高版本。 部署环境 .NET Framework 4.6.2 或更高版本。 .NET 6.0 需要 Windows 7 Service Pack 1 或更高版本。 .NET 7.0/8.0/9.0 需要 Windows 10 或 Windows 11。 Microsoft Windows 7 Service Pack 1 或更高版本。 项目源代码 快速使用 创建一个 WinForm 应用程序 首先我们快速创建一个名为NanUIExerciseWindows 窗体应用程序: 安装 NanUI NuGet 包 安装NanUI包NetDimension.NanUI: 安装NanUI所依赖的Chromium Embedded Framework依赖包NetDimension.NanUI.Runtime: 创建一个基本的 NanUI 应用程序 Program.cs: usingNetDimension.NanUI; namespaceNanUIExercise { internalstaticclassProgram { ///<summary> ///Themainentrypointfortheapplication. ///</summary> [STAThread] staticvoidMain() { varbuilder=NanUIApp.CreateBuilder(); builder.UseNanUIApp<MyFirstAPP>(); varapp=builder.Build(); app.Run(); } } } 创建一个类继承 AppStartup 来配置应用程序: usingMicrosoft.Extensions.DependencyInjection; usingNetDimension.NanUI; namespaceNanUIExercise { publicclassMyFirstAPP:AppStartup { protectedoverrideMainWindowCreationAction?UseMainWindow(MainWindowOptionsopts) { //设置应用程序的主窗体 returnopts.UseMainFormium<MyWindow>(); } protectedoverridevoidProgramMain(string[]args) { //Main函数中的代码应该在这里,该函数只在主进程中运行。这样可以防止子进程运行一些不正确的初始化代码。 ApplicationConfiguration.Initialize(); } protectedoverridevoidConfigurationChromiumEmbedded(ChromiumEnvironmentBuilercef) { //在此处配置ChromiumEmbeddedFramwork } protectedoverridevoidConfigureServices(IServiceCollectionservices) { //在这里配置该应用程序的服务 } } } 创建一个类实现 Formium,用于配置应用程序的主窗口: usingNetDimension.NanUI; usingNetDimension.NanUI.Forms; namespaceNanUIExercise { publicclassMyWindow:Formium { publicMyWindow() { Url="https://juejin.cn/"; } protectedoverrideFormStyleConfigureWindowStyle(WindowStyleBuilderbuilder) { //此处配置窗口的样式和属性,或留空以使用默认样式 varstyle=builder.UseSystemForm(); style.TitleBar=false; style.DefaultAppTitle="MyFirstNanUIApp"; returnstyle; } } } 运行效果查看: 项目源码地址 更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。 Gitee开源地址:https://gitee.com/dotnetchina/NanUI 项目文档地址:https://gitee.com/dotnetchina/NanUI/blob/master/docs/README.md 优秀项目和框架精选 该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。 GitHub开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md Gitee开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md