登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程 ...
使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序
[ 复制链接 ]
楞粳
昨天 23:50
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前言
今天大姚给大家分享一个强大的 .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 应用程序
首先我们快速创建一个名为NanUIExercise Windows 窗体应用程序:
安装 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;
}
}
}
复制代码
运行效果查看:
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
使用
NanUI
快速
创建
具有
相关帖子
从0到1,快速训练并使用YOLO模型
Redis快速实现布隆过滤器:缓存去重的“智能门卫”
LLVM Pass快速入门(一):构建编译环境
Arthas使用
Spring AI学习:使用WSL2安装Ubuntu&安装redis-8.4.0
LLVM Pass快速入门(二):运行第一个pass
LLVM Pass快速入门(二):运行第一个pass
快速上手Vibe Coding:10 分钟做出你的第一个作品,并部署上线!
LLVM Pass快速入门(三):指令替换
Erlang 使用escript打包多个模块构建一个可执行文件
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
从0到1,快速训练并使用YOLO模型
0
846
坡琨
2026-01-31
业界
Redis快速实现布隆过滤器:缓存去重的“智能门卫”
2
125
斜素欣
2026-01-31
业界
LLVM Pass快速入门(一):构建编译环境
0
39
篁瞑普
2026-02-01
业界
Arthas使用
2
592
箝德孜
2026-02-02
业界
Spring AI学习:使用WSL2安装Ubuntu&安装redis-8.4.0
0
168
陶田田
2026-02-02
业界
LLVM Pass快速入门(二):运行第一个pass
0
670
钱艷芳
2026-02-02
业界
LLVM Pass快速入门(二):运行第一个pass
0
237
利怡悦
2026-02-02
业界
快速上手Vibe Coding:10 分钟做出你的第一个作品,并部署上线!
0
366
缢闸
2026-02-03
业界
LLVM Pass快速入门(三):指令替换
0
669
杓疠?
2026-02-03
安全
Erlang 使用escript打包多个模块构建一个可执行文件
0
566
叟减
2026-02-03
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
楞粳
昨天 23:50
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9937
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9919
10
俞瑛瑶
9998
查看更多
今日好文热榜
33
东南亚电商海外仓留不住客户?原来是因为这
899
架构评审与技术债治理——质量属性、演进式
306
架构评审与技术债治理——质量属性、演进式
417
使用 NanUI 快速创建具有现代用户界面的 Wi
564
如何在系统中正确判定工作日与节假日?从需
272
一种多选项的高效存取(存储、查询)解决方
64
DTS按业务场景批量迁移阿里云MySQL表实战(
642
DTS按业务场景批量迁移阿里云MySQL表实战(
566
Erlang 使用escript打包多个模块构建一个可
595
SpringBoot进阶教程(八十九)rabbitmq长链接
394
决策单调性优化 DP
483
文件存储微服务-阿里云OSS
749
就在明晚!时序数据库 Apache IoTDB x Dori
475
《实时渲染》第2章-图形渲染管线-2.6管线综
564
VS Code 的 Remote-SSH 一直连接不上远程主
58
练习:回家(选票定理Ballot Theorem)
729
产品评测:Visual Paradigm AI 聊天机器人
756
wangeditor5自定义扩展设置图片宽高(px)
850
spring6-工厂设计模式与bean的实例化方式
782
字符编码知多少(二)