winform开源项目
优秀项目和框架精选
本文所有项目都已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。
- GitHub开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
- Gitee开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
AntdUI
AntdUI是一款基于 Ant Design 设计语言的开源(Apache License) WinForm UI 界面库,致力于将现代美观的前端设计风格带入到桌面应用程序中。采用纯GDI绘图,不需任何图片资源,全面支持AOT,最低兼容 .NET Framework 4.0。
- 开源地址:https://gitee.com/antdui/AntdUI



ReaLTaiizor
ReaLTaiizor是一个开源(MIT License)、免费的.NET WinForms控件库,它提供了广泛的组件和丰富的主题选项(用户友好、注重设计),让用户可以轻松创建美观、专业的桌面应用程序。
- 开源地址:https://github.com/Taiizor/ReaLTaiizor



MaterialSkin
一个基于 Google 的 Material Design 风格开源(MIT license)、免费的.NET WinForms UI控件库。
- 开源地址:https://github.com/IgnaceMaes/MaterialSkin


HZHControls
HZHControls是一个.NET WinForm自定义控件,对触屏具有更好的操作支持,项目是基于FrameWork4.0,完全原生控件开发,没有使用任何第三方控件,你可以放心的用在你的项目中(注意:基于 MPL2.0 协议开源,源码仅用于交流学习)。
- 开源地址:https://github.com/kwwwvagaa/NetWinformControl



SunnyUI
SunnyUI是一个基于.NET Framework 4.0+、.NET6、.NET8、.NET9 框架的 C# WinForm UI、开源控件库、工具类库、扩展类库、多页面开发框架(注意:基于GPL-3.0 license开源,个人学习交流免费)。
- 开源地址:https://github.com/yhuse/SunnyUI



原创作者: Can-daydayup 转载于: https://www.cnblogs.com/Can-daydayup/p/18856743
1、仿 QQ 项目
https://github.com/yashuangyi/Simulation-QQ
使用 C# 和 WinForm 开发,实现了 QQ 的界面,以及部分的功能。
用了 Winform+Socket+MySQL 技术,可以实现局域网一对多通信(包括传文本、图片、表情、文件,当然也也可以本地看开两个程序进行对聊。
如果学习C#网络通信、上位机这方面,那这个项目一定有学习的价值。
功能特性
- 参考QQ软件设计界面,达到界面仿真效果
- 提供注册账号、找回密码功能
- 创建服务端、客户端
- 支持发送文本消息
- 支持发送表情和图片
- 支持传输文件
2、自动升级程序GeneralUpdate
https://gitee.com/Juster-zhu/GeneralUpdate
当我们在日常开发中编写的客户端程序需要部署在多台主机上时,如果程序需要升级,那么一台台升级会非常麻烦,这款开源的GeneralUpdate组件,可用于Winform/WPF/ConsoleApp等应用程序的自动更新。
自动更新流程图:
代码结构剖析
3、AntdUI
https://gitee.com/antdui/AntdUI
一个开源的 Winform 组件库,基于 Ant Design 5.0 构建,包含了几十个常用的控件。
基于 Ant Design 设计语言的 WinForm UI 界面库,致力于将现代美观的前端设计风格带入到桌面应用程序中。采用纯GDI绘图,不需任何图片资源,全面支持AOT,最低兼容 .NET Framework 4.0。
功能特点:
- 纯GDI绘制,没有图片,支持AOT。
- 高质量绘图,高性能动画。
- Winform上最阴影的阴影效果。
- 无边框窗口,拥有原生窗口特性。
- 3D翻转效果、主题配置、SVG矢量图、DPI适配、国际化。
开箱即用,美观高效,集成方便,现在 Winform 也能拥有美观的界面了。
AntdUI开发的聊天界面:
控件列表非常丰富,包含了大部分常用的组件,在项目中集成后可以按需使用。
4、单程序自动更新
https://gitee.com/spdf00/update-tool
一款专为局域网设计的 WinForm 程序更新工具。
该工具支持增量更新,大幅减少更新文件的大小和传输时间,同时无需任何额外的服务器或复杂的网络配置。
不管是客户端还是服务端功能,都可以通过一个独立的程序完成,真正实现了"零依赖"的更新体验。
该工具支持增量更新,大幅减少更新文件的大小和传输时间,同时无需任何额外的服务器或复杂的网络配置。
项目框架:
UpdateTool.exe:调用 RunTest 方法,用于测试环境的模拟。
UpdateServer.exe:调用 RunServer 方法,启动更新服务器。
UpdateClient.exe:调用 RunClient 方法,启动更新客户端。
Test.exe:模拟业务程序,自动启动 UpdateClient.exe。
传统方式下,在局域网内更新文件通常需要通过U盘逐台电脑进行复制粘贴替换,过程繁琐且耗时。而 UpdateTool解决了这一问题,实现了局域网内文件的自动化更新,极大地简化了维护流程,提高了工作效率。
使用 UpdateTool,大家可以轻松管理和分发文件更新,无需复杂的操作或额外硬件支持,让文件管理变得更加简单高效。
5、自动更新http://AutoUpdater.NET
https://github.com/ravibpatel/AutoUpdater.NET
使用最简单、最方面的一个WinForm、WPF自动更新开源的项目,目前我也一直在使用。
相对于同类项目,它的最大优点就是使用非常简单,如果非要选择最佳的自动更新项目,我大力推荐这款!
http://AutoUpdater.NET 从您的服务端获取一个 XML 文件,它用来获取程序的最新版本的信息。如果发现服务端的软件版本大于用户本地的版本,那么 http://AutoUpdater.NET 会向用户显示更新对话框。如果用户按下更新按钮来更新软件,那么就会执行自动更新。
使用非常简单就两个流程。
1、在客户端中调用
如果您想要每次程序启动的时候检查更新,那么可以添加下面的代码到主程序的构造函数中或者 Form_Load 事件中
AutoUpdater.Start("https://rbsoft.org/updates/AutoUpdaterTest.xml");
如果您想要在后台实时检查更新,那么可以设置 Synchronous 为 true。
AutoUpdater.Synchronous = true;
2、在Web网站中创建一个 XML 文件,表示最新的软件版本
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>2.0.0.0</version>
<url>https://rbsoft.org/downloads/AutoUpdaterTest.zip</url>
<changelog>https://github.com/ravibpatel/AutoUpdater.NET/releases</changelog>
<mandatory>false</mandatory>
</item>
6、IP地址分配
https://github.com/yaobus/SIPAM
一个 C# 开发的 IP 管理系统, SIPAM 主要用于解决工作中需要对多个网段的IP地址进行分配的工作,感兴趣的同学可以关注下。
SIPAM软件基于C#开发的PC客户端和 mariaDB,项目配置好基础数据后就可以使用了,非常简单和方便。
软件支持多语言,网段管理,群组管理,IP申请,IP审批等等。麻雀虽小五脏俱全,对于个人使用来说,应该也是够用了。
群组管理界面
申请界面
审批界面
7、HTML编辑器
https://github.com/tewuapple/WinHtmlEditor
Winform开源的HTML编辑器。
包括的基本功能和Word差不多了,常规的格式功能都有,以及清除MS-Word格式、拼写检查、插入表格、日期、时间,上标、下标和打印功能。
8、HZH_Controls
https://github.com/kwwwvagaa/NetWinformControl
控件种类
- 丰富多样:控件库包含了多种自定义控件,如提示窗、多输入窗体、翻页控件、气泡提示、多线程操作等待等,覆盖了WinForms开发的多个方面。
- 工业控件:除了通用控件外,还包含了许多工业风格的控件,如仪表、管道、传送带等,适用于特定领域的软件开发。
项目特性:
- 开发环境:基于.NET Framework 4.0开发,确保广泛的兼容性。
- 技术特点:完全使用原生控件开发,未依赖任何第三方控件,提高了项目的独立性和可控性。
- 目标平台:主要针对WinForms应用程序,为开发者提供丰富的自定义控件资源。
9、记事本
https://github.com/luisperezphd/NotepadClone
用C#编写的记事本。
10、五子棋程序
https://gitee.com/salamander-mh/Chess
C#实现的五子棋程序,AI算法为全局搜索+积分规则。
带有五子棋核心!
11、智慧驾考系统
https://gitee.com/gaopengyue/driving-exercises
使用C#编写的全栈桌面项目,使用了avalonia框架、可以跨端运行,通过依赖注入运行程序。
具体内容包括在线练习,每次获取50道题、每天可获取50次。
除此之外,本项目添加了ai问答功能、云端记录错题,以及中国交通新闻网的新闻推送,和错题回顾反省功能,帮助用户综合了解交通知识。
此外系统还会自动记录用户每天的答题情况、以数据面板的形式展现出来,并通过数学工具预测用户驾考中能得到的分数,以助用户了解自身学习情况。

12、资产管理系统
https://gitee.com/djsf12/asset-management
在企业管理中,资产的高效管理是提升运营效率、降低成本的重要环节。为了帮助企业更好地实现资产信息的数字化、可视化管理,推荐一款功能完整、易于使用的资产管理系统(Asset Management System,简称 AMS)。
该系统基于 WinForm + SQLite 数据库和 SqlSugar ORM 框架,实现了资产的添加、编辑、导入导出、查询、打印、用户权限控制、日志记录以及数据库管理等核心功能。


13、多功能通信工具
https://gitee.com/sdfafdsafasdf/Communication-Tools
利用sunnyUI控件库实现了多功能的通信工具,集成了串口通信,Socket通信,西门子S7通信,Modbus通信等。


14、车牌识别
https://gitee.com/ss123true/halcon_chepai
基于 Halcon 开发一个简易但高效的车牌识别系统,通过图像预处理、区域提取与 OCR 字符识别等步骤,实现对图片中车牌信息的自动识别。
项目特点如下:
- 不依赖深度学习模型,使用 Halcon 内置算子完成识别。
- 支持英文数字车牌识别(不含中文)。
- 可通过自定义模板扩展识别范围。
- 识别准确率高,适合嵌入式或轻量级应用场景。
15、工业视觉软件框架
视觉软件,2020年05月修整期间编写的工业集成软件框架,目前不从事该行业,因此开放出来交流学习。软件已作删减,仅保留视觉部分,需自行添加Halcon的DLL方可正常运行软件。希望对大家有帮助。
想了解相机模块的朋友比较多,但因个人资源有限,相机代码并没有作过多编写和测试优化,害怕误导大家的学习方向。现软件上传了相机部分的代码,仅供大家参考,望见谅。
项目环境
- Visual Studio 2019
- .NET Framework 4.7.2
- Halcon 12
AutomationSystem:软件运行主窗体项目。
BuildDLL:所有生成的引用DLL集中放置在此处,可通过BuildDLL.sln统一管理需要编译生成的项目。
Calibration:编译生成的标定DLL放置位置。
CameraDLL:编译生成的相机DLL放置位置。
CommonLibrary:个人常用的工具类项目,含文件读取写入、常用变量类型扩展、控件操作等功能。
ExternTool:编译生成的图像处理工具DLL放置位置。
Halcon:含Halcon操作窗体、Halcon图像处理工具项目。
ThirdPartyDLL:集中放置需要引用的第三方DLL。
UIControl:窗体自定义控件项目。
16、Modbus通讯测试工具
https://github.com/ClassicDIY/ModbusTool
ModbusTool 是一款用于 Modbus RTU 和 TCP 通信协议测试的工具,它可以帮助工程师测试和调试 Modbus 设备的通信功能。
编程语言使用C#开发、桌面采用winform。该工具提供了实时日志记录功能,方便工程师跟踪和分析通信过程,快速定位问题并进行故障排除。
Modbus Maste:
Modbus Slave:
社区不乏有modbus相关的其他通讯工具,据了解都是收费的。
所以推荐这款工具:1、采用C#编写;2、源码是开源的。
既能使用又能学习,强烈推荐。
17、HslCommunication
https://github.com/dathlin/HslCommunication
HslCommunication是一个专注于工业通信的开源项目,提供了丰富的通信协议支持,适用于各种工业自动化场景。HslCommunication 支持几十种通讯协议,不仅可以作为调试助手,还适用于上位机编程,提高开发效率。
旧版版本的Hsl是开源的,如果你想学习其中的代码,那最好还是使用旧版本。
我个人认为HslCommunication最强的一点还是平时做上位机开发的TCP通信相关的代码,都能在上面找到。当然前提是你使用的是C#开发语言
HslCommunication同时也是一个通讯插件,支持工业现场大部分设备的数据采集,写入,上传互联网:
PLC品牌支持:
机器人及其他通信支持:
18、内网穿透工具NSmartProxy
https://github.com/tmoonlight/NSmartProxy
NSmartProxy 是一款强大开源的内网穿透工具,采用.NET CORE的全异步模式打造。
功能特点
1. 跨平台,客户端和服务端均可运行在MacOS,Linux,Windows系统上;
2. 使用方便,配置简单;
3. 多端映射,只需安装一个NSmartProxy客户端可映射整个局域网内的多种服务;
4. 支持TCP协议栈下的所有协议(已经经过测试的有FTP、Telnet、SMTP、HTTP/HTTPS、POP3、SMB、VNC、RDP。),以及相当一部分基于UDP的协议(已经经过测试的有DNS查询、mosh服务)。
客户端界面:
服务端界面:
19、串口调试工具
https://github.com/chenxuuu/llcom
LLCOM是一个.NET开源的、功能强大的串口调试工具。
支持Lua自动化处理、串口调试、串口监听、串口曲线、TCP测试、MQTT测试、编码转换、乱码恢复等功能。
无需安装,支持便携版本。

重点功能:
- 集成TCP、UDP、SSL测试服务端/客户端功能,并且支持IPV6
- 串口断开后,如果再次连接,会自动重连
- 收发日志清晰明了,可同时显示HEX值与实际字符串
- 可独立运行Lua脚本,并拥有定时器与协程任务特性(移植自合宙Luat Task架构)
20、内网穿透Linker
https://github.com/snltty/linker
Linker是一个基于.NET 8.0开发的网络工具,利用P2P(点对点)或服务器中继技术,连接多个局域网(LAN),实现这些局域网中任意网络设备之间的通信。
该项目旨在提供一个灵活、高效的内网穿透和异地组网解决方案,适用于各种需要跨网络通信的场景。
使用p2p或者服务器转发,让你的各个局域网连通起来,让各个局域网内的任意联网设备都可以相互连通。
应用场景
- 远程办公:员工可以安全地访问公司内网资源,即使他们身处不同地点。
- 智能家居:不同家庭设备可以通过Linker实现互联互通,提升家居智能化水平。
- 游戏联机:玩家可以在不同网络环境下进行游戏联机,享受流畅的游戏体验。
- 数据共享:团队成员可以方便地共享文件和数据,提高工作效率。
功能演示:



如有帮助,点赞记录一下吧!
浙公网安备 33010602011771号