SunnyUI.NET C WinForm 开源控件库使用指南
SunnyUI.NET 是一个基于 .NET Framework 4.0+、.NET 8 和 .NET 9 框架的 C# WinForm 开源控件库、工具类库、扩展类库和多页面开发框架。它提供了超过70个精心设计的控件,支持17种不同主题风格,能够显著提升WinForm应用程序的开发效率和用户体验。
项目特性
SunnyUI.NET 包含四大核心组件:
开源控件库 - 基于原生控件开发,参考Element主题风格,包含按钮、编辑框、下拉框、数据表格、工控仪表、统计图表等常用控件
工具类库 - 收集整理开发过程中经常用到的工具类
扩展类库 - 提供开发过程中常用的扩展方法
多页面框架 - 参考Element设计,包含7种常用框架风格,只需几行代码即可创建多页面程序
环境要求
- 开发环境: Visual Studio 2010及以上版本
- 运行环境: .NET Framework 4.0+、.NET 8、.NET 9
- 推荐环境: Visual Studio 2022,安装.NET Framework 4.0目标包
安装配置
通过NuGet安装
打开Visual Studio,创建新的WinForm项目,然后通过以下方式安装SunnyUI:
方法一:使用Package Manager控制台
Install-Package SunnyUI
方法二:通过NuGet包管理器 在NuGet包管理器中搜索"SunnyUI"并安装
手动配置
- 将窗体从Form修改为UIForm
- 添加
using Sunny.UI;命名空间 - 将窗体的AutoScaleMode从Font设置为None,避免分辨率问题
- 设置MainTabControl属性关联UITabControl控件
快速开始
创建多页面框架
SunnyUI的多页面框架由框架(IFrame)和页面(UIPage)构成。基本实现步骤如下:
public partial class FMain : UIForm
{
public FMain()
{
InitializeComponent();
// 关联主TabControl
this.MainTabControl = uiTabControl1;
// 设置初始页面索引
int pageIndex = 1000;
// 添加页面
if (!ExistPage(1001))
{
AddPage(new FPage1());
}
SelectPage(1001);
}
}
页面关联方式
SunnyUI支持多种页面关联方式:
通过PageIndex关联(推荐)
AddPage(new FPage1(), 1001);
通过GUID关联
AddPage(new FDialogs(), Guid.NewGuid());
自动关联(自动生成GUID)
AddPage(new FBarChart());
控件展示
SunnyUI提供了丰富的控件集合,包括:
基础控件 - 按钮、文本框、标签、复选框等 数据控件 - 数据表格、列表、树形视图等 图表控件 - 柱状图、饼图、折线图、环形图等 工控控件 - LED指示灯、仪表盘、开关按钮等
主题管理
SunnyUI支持17种主题风格,包含11种Element风格主题和6种其他主题。通过UIStyleManager组件可以自由切换主题:
// 切换主题
StyleManager.Style = UIStyle.Blue;
多语言支持
SunnyUI内置多语言支持,可以轻松实现界面国际化:
// 切换语言
UIStyles.CultureInfo = CultureInfos.zh_CN;
UIStyles.CultureInfo = CultureInfos.en_US;
实际应用案例
学生管理系统
利用SunnyUI的数据表格和表单控件,构建用户友好的数据管理界面
工业监控系统
使用工控仪表和图表控件,开发实时数据监控界面
统计分析工具
结合统计图表控件,创建数据可视化分析平台
开发建议
- 布局设计:使用SunnyUI的布局控件(如UIPanel、UIFlowLayoutPanel)进行界面设计
- 主题一致:保持应用程序主题风格的一致性
- 响应式设计:考虑不同分辨率下的界面适配
- 性能优化:合理使用多页面框架,避免不必要的页面加载
注意事项
- 个人学习交流免费,商业应用需要授权
- 禁止使用SunnyUI开发违法应用
- 建议使用最新版本的Visual Studio进行开发
- 定期查看项目更新日志,获取最新功能和修复
SunnyUI.NET为C# WinForm开发提供了强大的控件库和开发框架,能够显著提升开发效率和应用程序质量。通过合理使用其丰富的控件和功能,可以构建出专业级的Windows桌面应用程序。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0446
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0761
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00




