C# 時間控件 豎直進度條 餅圖顯示 按鈕基礎控件庫
Prepare
本文將使用一個NuGet公開的組件來實現一些特殊的控件顯示,方便大家進行快速的開發系統。
在Visual Studio 中的NuGet管理器中可以下載安裝,也可以直接在NuGet控制臺輸入下面的指令安裝:
Install-Package HslCommunication
NuGet安裝教程 http://www.cnblogs.com/dathlin/p/7705014.html
技術支持QQ群:592132877 (組件的版本更新細節也將第一時間在群裏發布)
Summary
組件中包含了一些控件,主要是針對winform機制的,由於WPF的機制完全不一致,所以此處咱提供WPF的版本,只提供了winfrom版本的控件,開發這些控件源自於我之前的項目累積,趁著空閑的間隙重新整理開發完成。
- 首先便是對winfrom自身按鈕的不滿,實在是太過於醜了,而且容易被破解(假如你的按鈕做了權限驗證,權限不足的禁用,實際上這種操作是很危險的,用戶完全可以從網上下載一個灰色按鈕精靈來破解程序,將原先禁用的隱藏的按鈕變得可以點擊),所有就重新開發一個更加完善的按鈕,而且也不那麽醜了。
- 時間顯示的控件就是純粹為了好玩開發的,想做個更有意思的控件,順便練練手,技能。
- 縱向的豎立著的進度條,由於微軟沒有提供豎立的進度條,而當你需要這種時就很麻煩,一般橫向的進度條用微軟的即可,但是本組件的進度條也提供了橫著的選項。
- 餅圖控件,為了方便的顯示一些數據的占用比,而開發的。
要想使用組件的控件,除了使用NuGet來安裝組件外,還需要將組件的dll文件(在你的項目的packages裏面可以找到,如果你本來就是引用本地的,就直接拖拽本地的即可)拖拽到工具欄:
拖拽完成後效果如下:
ok,現在可以將控件拖到界面上了,接下來就分別講解幾個控件:
按鈕控件:
直接拖到主界面效果如下:
公開的屬性如下:
基本的屬性都是有註釋的,要想設置顯示的文本,設置UIText即可。可以設置文本顏色,按鈕是否選中,以及圓角大小,基本常用的就這幾項了。雙擊按鈕,進入Click事件也是和button一致的,和button不一樣的地方除了界面的區別,還有就是無法被灰色精靈破解,還有按鈕自帶一個string屬性:CustomerInformation 便於擴展一些自定義的數據。
時間控件:
直接拖到主界面效果如下:
主要功能是自己獲取系統的時間,然後進行顯示,公開了一些允許設置的屬性界面:
主要是指針的顏色設置,文本設置。
進度條控件:
直接拖到主界面效果如下,演示了縱向和橫向的兩種進度條,以及一些顏色的設置,相關的屬性,隨便點點就可以明白:
主要設置的屬性是背景色,前景色,是否顯示文本,邊框色,是否啟動動畫,等等
特別說明:Max是上限值,如果設置為100,那麽Value = 10 就是10%, 而另一個屬性 ValueChangeSpeed 則是和動畫快慢有關的。
餅圖控件:
直接拖到主界面效果如下,餅圖數據的現實此處要是使用代碼來實現:
然後通過代碼來實現設置數據信息:
private void userButton1_Click(object sender, EventArgs e) { Random random = new Random(); HslCommunication.Controls.UserPieChart[] charts = new HslCommunication.Controls.UserPieChart[4]; charts[0] = userPieChart1; charts[1] = userPieChart2; charts[2] = userPieChart3; charts[3] = userPieChart4; for (int j = 0; j < 4; j++) { List<string> data = new List<string>(); List<int> ints = new List<int>(); for (int i = 0; i < random.Next(4, 8); i++) { data.Add(random.Next(100, 999).ToString()); ints.Add(random.Next(1, 5)); } charts[j].SetDataSource( data.ToArray(), ints.ToArray()); } } }
無非是生成了隨機的名字和數據,通過SetDataSource來實現數據本身。效果如下:
此處的顏色也是隨機獲取的,禁止了白色及接近的白色的自動生成。如果需要指定自己的顏色,需要調用該方法的重載方法,傳入另一種類型的數據,允許傳入名字,值,及顏色。
其他控件:
未完待續...
C# 時間控件 豎直進度條 餅圖顯示 按鈕基礎控件庫