<p align="center">
<img src="./artworks/WinFormiumLogo.png" width="144" />
</p>
<h1 align="center">WinFormium 项目(曾用名:NanUI)</h1>
<p align="center"><strong>用 HTML, CSS 和 JavaScript 轻松构建功能强大的 WinForm 应用程序。</strong></p>
# WinFormium
Click [[Here]](https://github.com/XuanchenLin/NanUI) to see the English version.
![GitHub](https://img.shields.io/github/license/XuanchenLin/NanUI)
![Nuget](https://img.shields.io/nuget/v/NetDimension.NanUI)
![Nuget](https://img.shields.io/nuget/dt/NetDimension.NanUI)
一直以来 NanUI 的发型版本都处于测试阶段,经过了 9 年的迭代,是时候为 NanUI 发布正式版了!在 NanUI v1.0 正式版发布时,将正式启用项目的新名称 - **WinFormium**
## ⭐ 关于
WinFormium 是 .NET 平台上的一个开源框架(曾用名:NanUI),用于使用 HTML5、CSS3 和 JavaScript 创建 WinForm 应用程序的用户界面。 它基于 [Xilium.CefGlue](https://bitbucket.org/xilium/xilium.cefglue/wiki/Home) 项目,该项目是 [Chromium Embedded Framework (CEF)](https://bitbucket.org/chromiumembedded/cef) 的 .NET 实现。
如果您正在寻找一个用于创建具有现代用户界面的 WinForm 应用程序的框架,WinFormium 是一个不错的选择。 您可以使用 HTML、CSS 和 JavaScript 创建用户界面,并使用 C# 编写应用程序的业务逻辑。
**如果您喜欢 👍,请给 WinFormium 项目一颗星 ⭐。**
如果这个项目对你有帮助,请考虑资助它。
[![支付宝](https://img.shields.io/badge/%E6%8D%90%E8%B5%A0-%E6%94%AF%E4%BB%98%E5%AE%9D-blue)](docs/assets/qrcode.png)
[![微信](https://img.shields.io/badge/%E6%8D%90%E8%B5%A0-%E5%BE%AE%E4%BF%A1-Green)](docs/assets/qrcode.png)
## 🖥️ 环境要求
**开发环境**
- .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 包:
```powershell
PM> Install-Package NetDimension.NanUI
```
安装 WinFormium 所依赖的 Chromium Embedded Framework 依赖项:
```powershell
PM> Install-Package NetDimension.NanUI.Runtime
```
CEF 运行库巨大,再加上众所周知的原因,中国内地玩家请自行设置 NuGet 使用国内镜像。
- **Azure CDN** - https://nuget.cdn.azure.cn/v3/index.json
- **华为云** - https://repo.huaweicloud.com/repository/nuget/v3/index.json
**3. 一个基本的 WinFormium 应用程序需要以下代码:**
按如下示例修改 **Program.cs** 文件中的代码:
```csharp
using WinFormium;
class Program
{
[STAThread]
static void Main(string[] args)
{
var builder = WinFormiumApp.CreateBuilder();
builder.UseWinFormiumApp<MyApp>();
var app = builder.Build();
app.Run();
}
}
```
创建一个类继承 **WinFormiumStartup** 来配置应用程序:
```csharp
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**,用于配置应用程序的主窗口:
```csharp
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 应用程序**
## 📖 文档
有关更多信息,请参阅 - [文档](docs/README.md) 或 [Wiki](https://gitee.com/dotnetchina/NanUI/wikis)。
## 🤖 示例代码
- [Minimal WinFormium App](./examples/MinimalWinFormiumApp) - 介绍 WinFormium 的基本用法。
## 🔗 第三方库引用和工具集
- CEF - [https://bitbucket.org/chromiumembedded/cef]()
- Xilium.CefGlue - [https://gitlab.com/xiliumhq/chromiumembedded/cefglue]()
- Vanara.Library - [https://github.com/dahall/Vanara/]()
- Vortice.Windows - [https://github.com/amerkoleci/Vortice.Windows]()
- SkiaSharp - [https://github.com/mono/SkiaSharp]()
- React - [https://github.com/facebook/react]()
- React-Router - [https://github.com/remix-run/react-router]()
- Vite - [https://github.com/vitejs/vite]()
## 🏆 灵感来源
在创建此版本的 WinFormium 时,我受到以下歌曲和专辑的启发,特此感谢。
- **Strandels** - Chance Of Rain
- **One Direction** - What a Feeling (Made In The A.M.)
- **Thomas Rhett** - VHS (Center Point Road)
- **Sammy Kershaw** - She Don't Know She's Beautiful (Haunted Heart)
- **Chrissy Steele** - Two Bodies (Magnet To Steele)
- **Halestorm** - I Like It Heavy (Into the Wild Life)
- **Joan Jett & The Blackhearts** - I Hate Myself for Loving You (Up Your Alley)
![avatar](https://profile-avatar.csdnimg.cn/13e7502a4e5b43dca5be0019b931e491_ya766829.jpg!1)
你的月亮和太阳
- 粉丝: 236
- 资源: 92
最新资源
- Matlab机械臂七次B样条轨迹规划程序:带速度加速度约束的八个点优化解决方案,基于NSGA-II遗传算法的时间、能量、冲击最优策略,Matlab机械臂七次B样条轨迹规划程序:带速度加速度约束的八个点
- 基于MATLAB的交流电机动态分析程序:输入参数预测转速与力矩变化,基于MATLAB的交流电机动态方程分析与模拟程序:输入参数预测转速、力矩变化,基于matlab的交流电机动态方程,用于交流电机动态分
- 21个直播间礼物svga资源
- COMSOL模拟锌离子电池:锌离子沉积浓度场的源文件解析,深入探究COMSOL模拟锌离子电池中锌离子沉积浓度场源文件的技术与应用,comsol模拟锌离子电池锌离子沉积浓度场源文件 ,comsol模拟
- 多策略增强版三角拓扑聚合优化器-基于数学模型的连续优化与工程应用优化器的新发展,基于多策略改进的三角拓扑聚合优化器(ITTAO):一种数学启发式算法,解决连续优化问题与工程应用中的全局与局部最优平衡
- Simulink仿真模型光伏储能VSG与电容融合运行展示:波形完美展现光储一次调频、削峰填谷与直流母线电压控制功能,Simulink仿真模型下的光伏储能VSG运行及功能特点:光储一次调频、削峰填谷、直
- COMSOL电弧模拟与等离子体特性研究,COMSOL电弧模拟技术:探索等离子体行为与物理机制,comsol电弧模拟 等离子体 ,comsol电弧模拟; 等离子体模拟; 仿真建模; 物理现象模拟,COM
- 采用STC89C54RD设计的智能家居控制系统【含系统程序、系统PPT、设计报告、电路图等】
- MATLAB仿真的夫琅禾费衍射强度图:圆孔、圆环、矩形孔定制研究,MATLAB仿真:夫琅禾费衍射强度图的可定制性-以圆孔、圆环及矩形孔为例的研究分析,MATLAB夫琅禾费衍射强度图仿真 圆孔,圆环
- 基于CarSim与Matlab的ABS模糊控制策略联合仿真研究:优化制动效能与滑移率控制,汽车ABS模糊控制策略与逻辑门限值控制的联合仿真研究:提升制动效能与滑移率优化,基于CarSim和Matlab
- matlab实现FFT算法线性调频多目标仿真研究-LFM-FFT-目标识别-matlab
- COMSOL模拟锌离子电池锌负极电场模型教程:初学者友好版,附详细制作过程与多种模型源文件参考,COMSOL模拟锌离子电池锌负极电场模型源文件详解与教程:从初学者的角度出发,掌握电场模型制作全流程及多
- 30KW储能双向变流器PCS逆变器设计方案:高效能量转换与存储技术,优质高效 30KW储能PCS逆变器双向变流器设计方法与解析资料大全,30KW储能PCS逆变器双向变流器设计方案资料, ,核心关键词:
- 无感FOC技术解析:基于磁链观测器的零速带载闭环启动与力矩保持算法资料及MDK项目源码详解,无感FOC算法资料:磁链观测器、零速带载闭环启动、堵转力矩保持与直接正反转控制技术详解-含Cubemx配置
- AC DC DC模拟EV充电仿真系统:前后级交错PFC Boost与移相全桥隔离技术实现与matlab Simulink环境下模拟实践,AC DC转换与DC模拟EV充电仿真:PFC Boost与移相全
- matlab实现FXLMS主动噪声控制算法研究-自适应滤波器-噪声污染-噪音消除-matlab
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)