news 2026/3/8 5:36:26

使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序

前言

今天大姚给大家分享一个强大的 .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 包

安装NanUINetDimension.NanUI

安装NanUI所依赖的Chromium Embedded Framework依赖包NetDimension.NanUI.Runtime

创建一个基本的 NanUI 应用程序

Program.cs:

using NetDimension.NanUI; namespace NanUIExercise { internal static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { var builder = NanUIApp.CreateBuilder(); builder.UseNanUIApp<MyFirstAPP>(); var app = builder.Build(); app.Run(); } } }

创建一个类继承 AppStartup 来配置应用程序:

using Microsoft.Extensions.DependencyInjection; using NetDimension.NanUI; namespace NanUIExercise { public class MyFirstAPP : AppStartup { protected override MainWindowCreationAction? UseMainWindow(MainWindowOptions opts) { // 设置应用程序的主窗体 return opts.UseMainFormium<MyWindow>(); } protected override void ProgramMain(string[] args) { // Main函数中的代码应该在这里,该函数只在主进程中运行。这样可以防止子进程运行一些不正确的初始化代码。 ApplicationConfiguration.Initialize(); } protected override void ConfigurationChromiumEmbedded(ChromiumEnvironmentBuiler cef) { // 在此处配置 Chromium Embedded Framwork } protected override void ConfigureServices(IServiceCollection services) { // 在这里配置该应用程序的服务 } } }

创建一个类实现 Formium,用于配置应用程序的主窗口:

using NetDimension.NanUI; using NetDimension.NanUI.Forms; namespace NanUIExercise { public class MyWindow : Formium { public MyWindow() { Url = "https://juejin.cn/"; } protected override FormStyle ConfigureWindowStyle(WindowStyleBuilder builder) { // 此处配置窗口的样式和属性,或留空以使用默认样式 var style = builder.UseSystemForm(); style.TitleBar = false; style.DefaultAppTitle = "My First NanUI App"; return style; } } }

运行效果查看:

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 14:41:58

【课程设计/毕业设计】基于微信小程序的医院设备管理及报修系统基于springboot的医院设备管理及报修小程序的设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/3/5 3:28:42

Java毕设项目推荐-基于springboot+vue智慧旅游服务平台网站系统基于springboot的智慧旅游系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/3/5 9:23:24

Java计算机毕设之基于java的中医养生系统的设计和实现基于springboot+vue的java的中医养生系统的设计和实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/3/4 6:41:45

【计算机毕业设计案例】基于springboot的智慧酒店业务协同运营平台 酒店管理系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华