使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序
前言今天大姚给大家分享一个强大的 .NET 开源框架它利用 Web 技术HTML5、CSS3、JavaScript为 WinForm 应用程序构建现代化的用户界面NanUI。如果你正在寻找一个用于创建具有现代用户界面的 WinForm 应用程序的框架NanUI 是一个不错的选择。项目介绍NanUI 是一个基于 .NET 平台的开源MIT License框架旨在帮助开发者使用 HTML5、CSS3 和 JavaScript 构建具有现代感的 WinForm 应用程序用户界面。它底层依托于 Xilium.CefGlue 这是 Chromium Embedded FrameworkCEF在 .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.csusing 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.UseNanUIAppMyFirstAPP(); 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.UseMainFormiumMyWindow(); } 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.mdGitee开源地址https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

相关新闻

大数据领域数据产品的智慧互联网应用创新探索与实践

大数据领域数据产品的智慧互联网应用创新探索与实践

大数据领域数据产品的智慧互联网应用创新探索与实践关键词:大数据、数据产品、智慧互联网、应用创新、实践案例、实时计算、用户画像摘要:本文以"智慧互联网"为核心场景,围绕大数据领域数据产品的创新应用展开探索。通过生活类比、…

2026/7/4 19:34:09 阅读更多 →
从零开始学LangExtract:大模型信息抽取技术全面解析

从零开始学LangExtract:大模型信息抽取技术全面解析

LangExtract是谷歌开源的大语言模型框架,解决了传统信息抽取方法的局限性。通过三层架构设计,实现示例驱动的少样本学习、智能分块与并行处理,确保高准确性和效率。已在医疗、法律、客户反馈等多场景成功应用,提供完整部署架构和运…

2026/7/4 17:14:38 阅读更多 →
大模型工程岗位薪资揭秘:AI工程师进阶指南,高薪机会不容错过

大模型工程岗位薪资揭秘:AI工程师进阶指南,高薪机会不容错过

本文汇总了量化与AI科技行业的9个高薪AI工程岗位,包括机器学习平台工程师、大模型应用开发、深度学习科学家等,遍布北上深港杭等国内外一线城市。岗位薪资普遍在30k-100k之间,部分高达200w,覆盖顶尖量化、AI科技企业及小而美团队。…

2026/7/3 15:34:38 阅读更多 →

最新新闻

STM32F410RB与MC6470 IMU的高精度姿态控制实现

STM32F410RB与MC6470 IMU的高精度姿态控制实现

1. 项目背景与硬件选型解析在嵌入式系统开发中,精确的运动感知和控制能力是许多应用的核心需求。MC6470作为mCube推出的6自由度惯性测量单元(6DOF IMU),集成了三轴加速度计和三轴磁力计,能够提供完整的空间姿态数据。而STM32F410RB则是STMicr…

2026/7/5 7:34:11 阅读更多 →
MAX9744与PIC18F2455构建高效D类音频放大器方案

MAX9744与PIC18F2455构建高效D类音频放大器方案

1. 项目背景与核心组件解析在DIY音频设备改造和嵌入式音频系统开发中,功率放大器的选型直接影响最终音质表现。MAX9744作为一款高效D类音频功率放大器,搭配PIC18F2455微控制器的灵活控制能力,可以构建出性能优异且可编程的音频放大解决方案。…

2026/7/5 7:34:11 阅读更多 →
STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户配置和偏好设置是一个经典需求。无论是工业控制设备、消费电子产品还是物联网终端,都需要在断电后仍能保留关键参数。传统方案如EEPROM或Flash存储各有局限——前者容量小、成本高,后…

2026/7/5 7:34:11 阅读更多 →
AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

1. 项目概述:为什么AppScan的安装值得你认真对待如果你是一名安全工程师、渗透测试人员,或者正在负责公司应用系统的安全评估,那么IBM Security AppScan这个名字你一定不陌生。作为一款老牌且功能强大的Web应用动态安全测试(DAST&…

2026/7/5 7:32:10 阅读更多 →
STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

1. 项目背景与核心需求在嵌入式系统开发中,数据检索的速度和精度往往成为系统性能的瓶颈。传统方案通常面临两个矛盾:要么使用低速但容量大的存储介质(如SD卡),要么选择高速但容量受限的片上Flash。25CSM04这款4Mb SPI…

2026/7/5 7:30:10 阅读更多 →
WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到Windows电…

2026/7/5 7:30:10 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻