news 2026/10/5 8:56:07

使用 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 包

安装NanUI包NetDimension.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/10/5 8:13:59

JBoltAI:Java人工智能开发框架的实用指南

在 Java 企业寻求 AI 转型的过程中&#xff0c;JBoltAI 作为一款企业级 AI 应用开发框架&#xff0c;从场景开发、学习支持到解决方案落地&#xff0c;为开发者提供了多维度的支持。下面结合其核心模块&#xff0c;聊聊它在实际开发中的应用方向。一、场景开发范例&#xff1a;…

作者头像 李华
网站建设 2026/10/5 8:13:47

Java毕设选题推荐:基于springboot的智慧旅游系统目的地资源信息查询 - 行程规划 - 体验互动【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华
网站建设 2026/10/3 8:19:10

大模型领域高级岗位招聘要求全解析,程序员从入门到精通指南

本文汇总了多个大模型相关高级技术与管理岗位的招聘要求&#xff0c;包括产业互联网CTO/COO、首席AI架构师、法律AI技术总监等。这些岗位普遍要求应聘者具备大模型训练、推理、优化和部署的专业知识&#xff0c;以及团队管理和业务协同能力。文章详细列出各岗位职责、任职资格和…

作者头像 李华
网站建设 2026/10/5 6:15:53

一文读懂AI模型家族架构:从感知到执行的智能流水线

文章揭示了AI模型家族是一条"感知→语言→概念→决策→执行"的智能流水线&#xff0c;而非单一模型。详细解析了LLM&#xff08;语言层&#xff09;、LCM&#xff08;概念层&#xff09;和LAM&#xff08;行动层&#xff09;三大认知维度&#xff0c;以及MoE、SLM、V…

作者头像 李华
网站建设 2026/10/3 17:06:29

Java毕设项目推荐-基于SpringBoot + Vue + Uni-App的农产品管理与销售全栈A基于springboot的农产品管理与销售APP的设计与实现【附源码+文档,调试定制服务】

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

作者头像 李华