AntdUI:一个基于 Ant Design 设计语言的 WinForm UI 界面库,用纯 GDI 绘图
把界面弄好看高级一点。
这是很多人做工业软件开发这些年,听过最多的一句话。
每次听到,想解释,功能都实现了,协议也跑通了,界面丑点怎么了?能用不就行了吗?
到今天说实话用户说的确实没问题。
软件界面丑,不只是审美问题。用户会怀疑,这东西是不是不靠谱。尤其是工业软件、设备调试工具这类产品,功能再强,界面一塌糊涂,第一印象就输了。
WinForm 生态里能用的现代化 UI 方案,真的不多,不像web ui那么丰富。自己画控件,要么效果一般,要么时间花了不少。
最近我在 Gitee 上刷到了一个项目,叫 AntdUI。看了一下 Demo,还不错。


这是一个基于 Ant Design 设计语言的 WinForm UI 界面库,用纯 GDI 绘图,不需要任何图片资源,就能让你的桌面应用拥有现代前端级别的视觉效果。
已经发布了六十多个控件,版本还在持续迭代。还有它最低兼容 .NET Framework 4.0,也就说老项目也能直接用。
下面我们来看看有哪些功能。
纯 GDI 绘制放大不会模糊。
AntdUI 的所有控件都是纯 GDI 绘制的。

啥意思?就是用代码直接画界面,不依赖任何图片资源。以前想让按钮好看点,自己画,要么切一堆图片往资源里塞。现在控件本身就是矢量渲染的,可以任意缩放、支持高清屏、不会出现模糊。
动画效果体验顺滑。
很多 WinForm 控件库的动画是硬切的,或者干脆不给动画。
AntdUI 的控件支持动画,而且是能打断的舒适动效。比如按钮的悬停效果、下拉菜单的展开收起,都有过渡动画。而且动画过程中如果你再次操作,它会自然响应,不会卡住或者闪烁。
黑白模式主题自动切换。
今天很多应用都支持深色模式,用WinForm 原生控件想实现这一点,得自己写一堆逻辑。
它直接内置了主题配置,支持浅色和深色模式,而且可以跟随系统自动切换。你不需要额外处理颜色适配,控件会自动根据当前主题调整配色。

六十多个控件覆盖大部分场景。
做数据录入?有输入框、日期选择器、下拉选择。做数据展示?有表格、树形控件、图表。做聊天界面?有消息列表、气泡组件。基本覆盖了桌面应用开发的大部分场景。而且这些控件都支持禁用状态、动画效果,交互细节做得比较完整。

老项目也能用。
支持 .NET 10.0、.NET 8.0,也支持 .NET Framework 4.8 和 4.0。而且它支持 AOT 发布——提前编译成独立可执行文件,不需要安装 .NET 运行时。对于需要分发独立应用的场景来说,这个很重要。
说了这么多,你可能想知道:这东西到底好不好用?我花半小时试了一下,发现上手门槛比想象中低。
第一步把库引进来。
打开 Visual Studio,在解决方案资源管理器里右键你的项目,选择"管理 NuGet 程序包"。搜索 AntdUI,点击安装就行。如果你不想用 NuGet,也可以直接把源码项目下载下来,添加到你的解决方案里引用。
第二步换掉原来的控件。
这一步最简单。打开你的窗体设计器,把原本的按钮删掉,从工具箱里拖一个 AntdUI 的 Button 进来。输入框也一样,把 TextBox 换成 Input。
如果你习惯写代码,也简单。原来是这样:
Button btn = new Button();
现在改成:
AntdUI.Button btn = new AntdUI.Button();
控件的名字、属性、事件,基本都和原生控件一样。你之前怎么用 Button,现在就怎么用 AntdUI.Button,不用重新学。
第三步调主题。
如果你想用深色模式,在程序启动的地方加一行代码:
AntdUI.Config.SetDarkMode(true);
运行一下,整个界面就变成深色风格了。控件的颜色会自动适配,不用你一个个去改。
想先看看效果?
官方提供了一个完整的 Demo,包含了所有控件的演示。你可以直接从 Gitee 上 clone 下来,用 Visual Studio 打开,编译运行。跑一遍 Demo,你就知道每个控件长什么样、怎么用了。


适合什么人用
如果你是做 WinForm 桌面应用开发的,尤其是这些场景:
AntdUI 基本上就是开箱即用。
值得一试,但也要看清边界
AntdUI 不是万能的。
如果你的项目对界面有非常定制化的需求,或者需要特别复杂的交互逻辑,可能还是得自己写控件。但对于大多数内部工具、工业软件、设备调试界面来说,它已经足够用了。
感兴趣的朋友可以抓紧试试。
开源地址:https://gitee.com/antdui/AntdUI
阅读原文:原文链接