SunnyUI C# WinForm 控件库:功能特性 + 安装使用全教程

SunnyUI 是一款开源的 C# WinForms 界面控件库,旨在为桌面应用提供现代、美观、易用的 UI 组件,并且兼容多个 .NET 版本。它不仅包含丰富的基础控件,也提供主题支持、国际化、多页面开发框架、工具类与扩展库,帮助开发者更快构建桌面应用界面。

SunnyUI C# WinForm 控件库:功能特性 + 安装使用全教程

SunnyUI GitHub地址:https://github.com/yhuse/SunnyUI

SunnyUI 帮助文档:https://gitee.com/yhuse/SunnyUI/wikis/pages

如果无法访问,请使用科学上外网加速工具,例如Dove加速器、Gatern加速器等。

SunnyUI 的主要特点

  • 支持 .NET Framework 4.0+、.NET 6 / 7 / 8 / 9 等多个版本。
  • 包含超过 70 个常用控件,如按钮(Button)、文本框(TextBox / Edit)、下拉框(ComboBox)、数据表格(DataGridView)、工控仪表、统计图表等。
  • 多种主题风格可切换,包括 “Element 风格”主题、其他主题等。带有主题管理组件 UIStyleManager,支持主题颜色定制和切换。
  • 国际化支持。控件内置的提示、按钮文字等可以被替换或修改为不同语言。
  • 包含工具类库与扩展类库,帮助处理常见任务,如字体图标、配置文件(ini、json 等)、文件操作等。
  • 多页面 / 多窗体框架支持。SunnyUI 提供 UIForm、UIPage、UIFrame 等组件,使得将 WinForms 应用设计为多个页面或模块更容易。

安装 SunnyUI

下面是一个标准的安装流程,以及在 WinForms 项目中引入并使用 SunnyUI 的准备步骤。

1. 通过 NuGet 安装(推荐)

在 Visual Studio 中打开你的 WinForms 项目。

在 “管理 NuGet 程序包” 中搜索 SunnyUI。

安装最新版(确认与你的 .NET 版本兼容)。

安装完成后,项目引用中会出现 SunnyUI 的相关 DLL。

2. 手动方式 / 源码编译

下载 SunnyUI 源码(GitHub / Gitee)。

在 Visual Studio 中打开源代码工程,确保安装对应的目标 .NET 版本。可能需要调整项目文件以支持最新的 .NET。

编译得到 SunnyUI.dll。

在你的 WinForms 应用中,把 SunnyUI.dll 添加到项目引用里。

将这个 DLL 添加到工具箱(Toolbox),创建一个工具箱选项卡(例如 “SunnyUI”),然后把 DLL 拖入,以便可视化地在窗体设计器里使用其中的控件。

SunnyUI 基本使用教程

下面通过一个简单示例说明如何在 WinForms 项目中使用 SunnyUI 控件与主题。

示例:创建一个带主题和按钮与图标的窗体

using System;
using System.Windows.Forms;
using SunnyUI;

namespace SunnyUIExample
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // 创建 UIForm(SunnyUI 提供的窗体基类)
            UIForm form = new UIForm();
            form.Text = "SunnyUI 示例窗体";
            form.StartPosition = FormStartPosition.CenterScreen;
            form.Size = new System.Drawing.Size(600, 400);

            // 设置主题
            form.UIStyle = UIStyle.Blue; // 使用预设主题,如蓝色
            // 如果希望自定义主题颜色,可设置 StyleCustomMode 为 true,再设置所需颜色属性
            form.StyleCustomMode = true;
            // 例如修改主色
            form.StyleMainColor = System.Drawing.Color.FromArgb(0, 120, 215);

            // 添加一个带图标的按钮
            UISymbolButton btn = new UISymbolButton();
            btn.Text = "点击我";
            btn.IconFont = SunnyUI.Enums.IconFontType.FontAwesome; // 或者其他字体图标类型
            btn.IconName = "faCoffee"; // 一个示例图标名称
            btn.Location = new System.Drawing.Point(50, 50);
            btn.Size = new System.Drawing.Size(150, 40);
            btn.Click += (sender, e) =>
            {
                UIMessageBox.ShowInfo("你好,SunnyUI!");
            };

            form.Controls.Add(btn);

            Application.Run(form);
        }
    }
}

使用主题切换与自定义颜色

  • 使用 UIStyleManager 或窗体/控件的 UIStyle 属性设置预设主题。
  • 若要使用自定义主题颜色,需要保证 StyleCustomMode 被设置为 true,然后修改颜色相关属性(如主色、背景色、按钮高亮色等)。
  • 注意控件可能会被主题颜色覆盖属性值,如果主题模式不是自定义,控件色彩可能按主题设定统一渲染。

进阶功能与注意事项

多页面 / 分页框架:SunnyUI 支持创建带有多个页面或模块的窗体架构。使用 UIForm + UIPage + UIFrame 等组件,可以将应用拆分为多个子页面模块,使界面模块化,易于维护。

字体图标支持:内置支持字体图标,如 FontAwesome 或其他图标字体。使用图标能让界面显得现代、简洁。

国际化:可以通过重写或修改内置的一些静态语言类(如 UILocalize)来改变提示文字 /按钮 /对话框等组件在不同语言下的显示。

主题覆盖与属性冲突:如果你手动设置某个控件的颜色/样式,但又启用了一个预设主题,则预设主题可能会覆盖你的设置。需要切换到自定义模式或禁用某些主题默认行为。

兼容性注意:

  • 如果使用较旧的 Visual Studio 或较旧 .NET Framework 版本,可能需要安装目标包或修改项目配置。
  • 在较新 .NET(例如 .NET8 / .NET9)环境下编译 SunnyUI 源码,需要使用较新的 VS 版本和适配的项目文件设置。

优缺点分析

优点

  • 界面风格现代、美观,比原生 WinForms 控件好看许多。
  • 主题与风格可切换、自定义,适合不同审美或品牌需求。
  • 提供很多开箱即用的控件,减少自己设计 UI 控件的工作量。
  • 多版本支持强,既能用于旧项目,也适合新项目迁移或开发。
  • 开源项目,有社区支持、示例与 Demo,学习成本相对较低。

缺点 / 局限

  • 相对于一些商业 UI 库来说,某些控件可能功能不够“极致”或“定制化深度”稍弱。
  • 若项目中控件很多,自定义主题复杂或需要和原生 WinForms 混合使用,可能会遇到样式冲突或性能问题。
  • 国际化支持虽有,但可能要手动修改某些 static 字符串,或加入额外的语言包。
  • 对于非常老的 .NET 版本或极端环境,某些功能可能不兼容或需要额外调整。

总结

SunnyUI 是一个非常适合想快速构建视觉现代、界面一致、拥有多主题与风格选择的 WinForms 桌面应用的 UI 库。如果你重视界面的美观、用户体验以及开发效率,同时不追求极度定制化或复杂动画效果,那么 SunnyUI 可以是一个很好的选择。通过 NuGet 安装或源码引入,结合主题与字体图标支持,再实用上述示例与技巧,你可以很快在项目中用好 SunnyUI。

评论