前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不错,所以非常感谢大家的支持。由于收藏夹的项目越来越少,越整理到最后,越发现一些问题,所以就按专题来分开。今天分享给大家的是关于WinForm开发相关的小巧灵活的开源项目。虽然现在WinForm开发可能不常见了,都转向B/S了,但偶尔还是有用到的地方的,特别是学校,以及一些研究演示之类的。所以这篇文章部分项目的实用性可能不高,但的确是一个非常值得学习的东西。因为看到这些功能组件,我会想到我刚自学入门的时候,是多么的难过,每天拖控件,想自己做一个都那么难,就是因为没接触到这些东西。所以分享是总结,是一个过程,不要让大家重复的踩坑和减少重复时间。所以特意做一个总结专题,以后如果有部分优秀的,也会单独更新在博客的。
.NET开源目录:【目录】本博客其他.NET开源项目文章目录
本文原文地址:分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm
1.WinForm界面生成器
初学.NET或者是C#的同学,肯定很多都是先接触WinFrom,如果自己做一些小工具,可能就是拖一些简单的控件,进行组合,编写代码。我曾经也这样干过,有时候有几个表,几十个字段,拖控件,非常累,拖的过程中,我曾经也想过,能不能做成通用的,因为对数据库来说,增删查改过程都差不多。直到我接触到XCode组件后,我才知道,我真的可以这么干,然后我自己动手,写了一个WinForm界面生成的模版,自动生成数据库表的WinForm界面,然后附加生成基本的增删查改代码。当时兴奋了好一阵,还用在一些地方。可惜那之后逐步抛弃了WinForm,再也没去维护和更新,自己技术能力有限。
然而一次偶然的机会,发现了这个开源项目,如果早些年接触,也许我那个模版可以做的更智能,也许就没有这么多遗憾。这个项目我初步使用了一下,总体感觉还是不错的,能自动根据实体类生成表单界面,界面也比我以前的漂亮,当然代码和结构更清晰。虽然可能还有一些瑕疵,而且也停止了更新,我觉得这个项目对初学或者以后长期想做WinForm的朋友,是一个很好的借鉴和参考。它直接支持的数据类型有:
int,string,double,float,long,decimal,short,bool,List
看看它的界面:
官方网站:http://winformgenerator.codeplex.com/
2.WinHtmlEditor编辑器
在Web开发中,Html编辑器使用很广泛很常见,而且开源的非常多,但在WinForm中,偶尔也是要用到的。这个就是一个非常不错的开源Winform下面的Html编辑器。包括的基本功能和Word差不多了,常规的格式功能都有,以及清除MS-Word格式、拼写检查、插入表格、日期、时间,上标、下标和打印功能等等。非常值得一试。我将在近期写一篇这个编辑器详细使用的文章,大家可以关注博客,就是.NET平台开源项目速览系列。看看它的界面:
官方网站:http://tewuapple.github.io/WinHtmlEditor/
作者博客:http://www.cnblogs.com/tewuapple/archive/2012/06/30/2570894.html
3.轻量级的编辑器HtmlTextbox
HtmlTextbox for Windows.Forms是另外一个WinForm下的Html编辑器。功能上更加轻量级,合适一些简单场合,有时候复杂也不好,就想Web编辑器一样,也会有很多简单版本。只不过比较遗憾,已经停止了更新,但作为一个独立的小的组件,基本功能比较完善,也差不多了,可以作为学习借鉴的例子。下面是其界面,感觉还是非常赞的。
官方网站: http://winformhtmltextbox.codeplex.com/
4.Autoupdater自动更新
自动更新在Winform开发中也是比较常见的,特别是在客户端很多的情况下,每一个重新下载部署是比较麻烦的,采用自动升级的方式非常快,可以节省不少时间。目前版本稳定,没有进行更新,可以满足大部分日常升级需求。升级界面如下:
官方网站:http://autoupdater.codeplex.com/
作者博客:http://www.cnblogs.com/KnightsWarrior/
5.updatecontrols数据更新控件
这个组件在不使用INotifyPropertyChanged的情况下进行数据通知和同步,使用代码来绑定事件实现。支持WinForm, WPF, Silverlight 3/4/5,以及Windows Phone 7/7.1。在WPF中可能这个比较容易实现,不过这个控件已经实现了很多东西。在WinForm中这种使用有时候是需要的,而且实现起来比较麻烦。这个控件的目的就在于此。现在也是稳定版本,有比较长时间没有进行更新。看看一个官方的演示视频:
官方网站:http://updatecontrols.net/cs/
http://updatecontrols.codeplex.com/
6.货币文本框控件
MoneyBox是一个WinForm中专门用于输入金融数字格式的控件。类似一个文本框,但只能输入数字,因此不再需要提示用户输出错误或者逻辑检查,这种情况还是很常见的。因此控件的功能单一,目标挺明确。新手可以看看学习如何封装一个控件,以及注意的事项。注意该控件没有更新,以前的版本应该是.NET 3.5,大家使用或者学习可以自己单独下载,修改编译后再使用。
官方网站: http://moneyboxforwinforms.codeplex.com/
另外一个类似的数字文本框控件是winformnumberbox,功能差不多吧,可以看看:
官方网站: http://winformnumberbox.codeplex.com/
7.Spell Check TextBox拼写检查
Spell Check Winforms TextBox拼写检查文本框,是一个辅助组件,我们在Word编辑文字的时候,就会有这种拼写检查提示。可以对用户的输入做一些检查和提示。是一个非常小的功能吧,至于使用大家可以借鉴其核心代码,直接用当然也可以。功能都比较实用,看看截图:
官方网站: http://spellchecktextbox.codeplex.com/
8.分组控件Group Controls
Group Controls是一个集合控件,可以将RadioButtonList,CheckBoxList控件作为一个集合放在一起,并进行设置。同时还有一些辅助增强功能,例如CheckBox以前只是一个选项,而在这个控件中,每一个子项目都是可以设置描述的,的确是更方便,更人性化。看看下面的设计视图:
官方网站: http://groupcontrols.codeplex.com/
9.其他
其他一些小组件,玩玩学习学习吧。毕竟WinForm现在不经常用了,初学者可以看看。
1.专业的WinForm日期视图控件,Calendar,官方网站: http://bettercalendar.codeplex.com/
2.Winforms圆角组合框控件:官方网站: http://roundedgroupbox.codeplex.com/