NanUI使用文档

First Post:

Last Update:

NanUI简介

NanUI是WinForm UI库的一种,它可以让应用程序里面内嵌html+css写的页面,可以样式更加多样化。

项目库地址:https://gitee.com/dotnetchina/NanUI.git

示例代码

🔗 第三方库引用和工具集

🖥️ 环境要求

开发环境

  • .NET Framework 4.6.2 或更高版本 / .NET 6.0 或更高版本
  • Visual Studio 2019 或更高版本(强烈建议使用 VS2022)

部署环境

  • Microsoft Windows 7 Service Pack 1 或更高版本
  • .Net Framework 4.6.2 或更高版本
  • .NET 6.0 需要 Windows 7 Service Pack 1 或更高版本
  • .NET 7.0/8.0 需要 Windows 10 或 Windows 11

这是一个 仅限 Windows 的框架,所以它目前不能在 Linux 或者 MacOS 环境运行。

支持的最低 Windows 版本是 Windows 7 Service Pack 1,并且 Windows 7 不支持某些功能(例如 DirectComposition 离屏渲染)。

🧰 入门

按照以下步骤即可创建一个简单的 WinFormium 应用程序:

1. 通过默认模板创建一个 WinForm 应用程序。

2. 安装 WinFormium NuGet 包

打开 NuGet 包管理器来安装或使用 NuGet 包管理器控制台,然后运行以下命令来安装 WinFormium nuget 包:

1
PM> Install-Package NetDimension.NanUI

安装 WinFormium 所依赖的 Chromium Embedded Framework 依赖项:

1
PM> Install-Package NetDimension.NanUI.Runtime

CEF 运行库巨大,再加上众所周知的原因,中国内地玩家请自行设置 NuGet 使用国内镜像。

3. 一个基本的 WinFormium 应用程序需要以下代码:

按如下示例修改 Program.cs 文件中的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using WinFormium;

class Program
{
[STAThread]
static void Main(string[] args)
{
var builder = WinFormiumApp.CreateBuilder();

builder.UseWinFormiumApp<MyApp>();

var app = builder.Build();

app.Run();
}
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using WinFormium;

class MyAPP : WinFormiumStartup
{
protected override MainWindowCreationAction? UseMainWindow(MainWindowOptions opts)
{
// 设置应用程序的主窗体
return opts.UseMainFormium<MyWindow>();
}

protected override void WinFormiumMain(string[] args)
{
// Main函数中的代码应该在这里,该函数只在主进程中运行。这样可以防止子进程运行一些不正确的初始化代码。
ApplicationConfiguration.Initialize();
}

protected override void ConfigurationChromiumEmbedded(ChromiumEnvironmentBuiler cef)
{
// 在此处配置 Chromium Embedded Framwork
}

protected override void ConfigureServices(IServiceCollection services)
{
// 在这里配置该应用程序的服务
}
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using WinFormium;
using WinFormium.Forms;

class MyWindow : Formium
{
public MyWindow()
{
Url = "https://www.google.com";
}

protected override FormStyle ConfigureWindowStyle(WindowStyleBuilder builder)
{
// 此处配置窗口的样式和属性,或留空以使用默认样式

var style = builder.UseSystemForm();

style.TitleBar = false;

style.DefaultAppTitle = "My first WinFomrim app";

return style;
}
}

4. 生成并运行你的第一个 WinFormium 应用程序