前面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<T>,Vector2(是Microsoft.Xna.Framework框架里面的一個類型,最好手動刪除了,如果項目用到才加進去)
看看它的界面:
官方網站: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/
如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,但是未經作者本人同意,轉載文章之后必須在文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利。