NanUI(曾用名:WinFormium)是一个开源的.NET界面框架,允许开发者使用HTML5、CSS3和JavaScript等前端技术来构建Windows窗体应用程序的用户界面。它基于Chromium Embedded Framework(CEF),提供了丰富的Web功能和现代化的UI设计能力,同时保留了.NET的强大生态环境。
环境要求
- 开发环境需要.NET Framework 4.6.2或更高版本,或.NET Core 3.1,以及Visual Studio 2019或更高版本。
部署环境需要Windows 7 SP1或更高版本,对于.NET 6.0和更高版本,需要Windows 10或Windows 11。
特点
- 无边框窗体:NanUI支持无边框窗体样式,允许开发者自由设计应用程序界面。
- 离屏渲染:利用Direct2D技术,支持异形窗口和亚克力特效窗体。
- 资源处理器:可以从ZIP文件加载资源,简化资源管理。
- JavaScript Bridge:提供了与.NET之间的通信和数据交换功能。
- 多种窗体样式:支持原生样式、无边框窗体、Kiosk模式和异形窗口。
使用方法
- 创建项目:在Visual Studio中新建一个Windows窗体应用项目。
- 添加引用:通过NuGet包管理器安装NanUI及其依赖项。
- 初始化环境:在应用程序启动时初始化NanUI运行环境,包括设置CEF相关参数。
- 编写窗体代码:设置窗体样式、启动URL等,并在窗体加载完成后进行浏览器相关操作。
示例代码
using NetDimension.NanUI;
// ...
class Program
{
static void Main()
{
// 初始化NanUI
WinFormium.CreateRuntimeBuilder(env =>
{
// 设置CEF参数
}, app =>
{
// 指定启动窗体
app.UseMainWindow(context => new MainWindow());
})
.Build()
.Run();
}
}
class MainWindow : Formium
{
public override HostWindowType WindowType => HostWindowType.System; // 设置窗体样式
public override string StartUrl => "https://www.formium.net"; // 指定启动URL
protected override void OnReady()
{
// 浏览器相关操作
}
}
开源协议
NanUI基于LGPL-3.0开源协议,允许在商业软件中使用而无需支付版权费用,但要求在衍生项目中保留NanUI的版权信息。
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |