一.前言
這套UI庫是上一個公司(好幾年前了)完成的。當時主要為開發公司內部ERP系統,重新設計實現了所有用到的Winform組建,包括Form窗體組建6個(支持換膚),基礎控件25個。其中有很多參考借鑒其他開源組件,也有幾個是集成的別人的組件,然后做了些調整。
現在已經好幾年不做Winform開發了,整理一下共享出來,希望能夠給需要的朋友一些幫助。在Win8、win10上運行是沒有什么大的問題的,好像有寫重繪的小bug,應該是個很容易解決的問題,沒有繼續深究它了。
Github項目地址:https://github.com/kwonganding/winform.controls
二.Form窗體組件
2.1 BaseForm基礎窗體控件,窗體是完全重新繪制 的,擴展性也不錯。所有其他窗體Form組建都是繼承該組件的。效果圖:
2.2 顯示錯誤異常消息的窗體 ErrorBox,主要是在全局撲獲異常顯示錯誤消息用的,效果圖:
2.3 PopBox,類似QQ彈窗類的右下角彈出窗體,可以自定義內容,效果圖:
2.4 等待窗體,用戶執行等待耗時操作顯示的窗體,在BaseForm上實現了調用接口,使用非常簡單,實例代碼:
private void txButton7_Click(object sender, EventArgs e) { this.Waiting(() => { System.Threading.Thread.Sleep(12000); }); }
效果圖(實際圖片為gif動態圖,此處為靜態截圖):
2.5 MessageBox ,包括消息提示、警告提示、錯誤提示、詢問提示,也是在BaseFrom中提供了接口,使用很簡單
private void txButton3_Click(object sender, EventArgs e) { this.Info("提示消息!"); } private void txButton5_Click(object sender, EventArgs e) { this.Warning("客官,請自重!"); } private void txButton6_Click(object sender, EventArgs e) { this.Error("出錯了!"); } private void txButton8_Click(object sender, EventArgs e) { this.Question("你確定要退出嗎?"); }
效果圖:
2.6 主窗體,主窗體主要多了兩個東西:a)類似Office2007的水晶Logo按鈕,b)換膚控件,效果圖:
三.基礎控件
3.1 Docking組件, 就是用於dock布局的控件,來自網絡開源組件,具體可以查看源碼。就是winform下著名的開源控件:WeifenLuo.WinFormsUI.Docking。關於使用可以自行搜索,網上很多的。
3.2 TXTreeComboBox,樹形下拉選擇控件,選擇框中默認顯示選中節點及其父節點的全路徑值,如下圖,綁定代碼:
this.txTreeComboBox1.DataSource = TestData.GetTreeData(10); this.txTreeComboBox1.MultiLevelDataSourceMember = "Users"; this.txTreeComboBox1.DisplayMember = "Name"; this.txTreeComboBox1.ValueMember = "Value"; this.txTreeComboBox1.BindData();
3.3 MultiselectComboBox 下拉多選控件,效果圖:
3.4 TemplateListView 列表數據呈現控件,功能很強大的,這個原本是另一個同事做的,在其基礎上封裝的。效果預覽:
可視化列字段綁定方式:
3.5 TreeListView 樹形列表
3.6 ThumbnialView 縮略圖列表控件
3.7 TXButton一般按鈕,主要是重繪了按鈕的外觀,可以設置圓角、圖標等
3.8 TXCheckBox 復選框
3.9 TXComboBox 下拉選擇框
3.10 TXDateTimePicker 日期選擇控件,在Win10下好像有顯示的小bug
3.11 TXGroupBox 重繪了原來的GroupBox,有更多的顯示控制,支持QQ的一個分組效果,下圖
3.12 TXHtmlEditor HTML編輯器,這個組建來自網絡,在其基礎上完善、添加了一些功能,如HTML源碼編輯、效果預覽,圖片上傳等。
3.13 TXListView 列表組建,繼承自ListView,主要是外觀的擴展重繪。3.4TemplateListView,3.5TreeListView都是繼承自 TXListView組件。
3.14 MonthCalendar日歷控件,這個好像也是來自網絡,可以基於日歷實現更豐富的功能,在當時項目中是實現了一個每天房價、活動呈現操作等需求。
3.15 TXPager分頁控件,與列表配合使用
3.16 TXPander、TXPanderPanelList這個是類似outlook風格的可收縮、布局的容器控件,主要來自網絡。
3.17 TXPanel可以收縮、關閉,包含標題的Panel控件
3.18 TXRadioButton 單選控件
3.19 TXRangeValue 多范圍設置組件,這是屬於業務組件。
3.20 TXTabControl繼承自微軟 TabControl,主要是做了UI的美化重繪,可以設置各種樣式、顏色
3.21 TXTableLayoutPanel,這個是Winform中比較常用的布局控件,繼承自微軟的TableLayoutPanel,主要是解決了滾動條的顯示問題
3.22 TXTextBox,文本輸入框
3.23 TXToolBar工具欄
3.24 TXToolStrip狀態欄
3.25 菜單
四 下載路徑:
文件壓縮后21Mb,超過了博客園上傳文件大小(10MB)因此就傳到了csdn(不要積分) http://download.csdn.net/detail/an_ding/8981365
百度雲下載鏈接 http://pan.baidu.com/s/1kT5sLr5
Github項目地址:https://github.com/kwonganding/winform.controls
版權所有,文章來源:http://www.cnblogs.com/anding/p/4715440.html