C# 時間控件 豎直進度條 餅圖顯示 儀表盤 按鈕基礎控件庫

Prepare


 本文將使用一個NuGet公開的組件來實現一些特殊的控件顯示,方便你們進行快速的開發系統。html

 聯繫做者及加羣方式(激活碼在羣裏發放):http://www.hslcommunication.cn/Cooperationgit

在Visual Studio 中的NuGet管理器中能夠下載安裝,也能夠直接在NuGet控制檯輸入下面的指令安裝:github

Install-Package HslCommunication

NuGet安裝教程  http://www.cnblogs.com/dathlin/p/7705014.htmldom

 

 

Summary


組件中包含了一些控件,主要是針對winform機制的,因爲WPF的機制徹底不一致,因此此處咱提供WPF的版本,只提供了winfrom版本的控件,開發這些控件源自於我以前的項目累積,趁着空閒的間隙從新整理開發完成。工具

  • 首先即是對winfrom自身按鈕的不滿,實在是太過於醜了,並且容易被破解(假如你的按鈕作了權限驗證,權限不足的禁用,實際上這種操做是很危險的,用戶徹底能夠從網上下載一個灰色按鈕精靈來破解程序,將原先禁用的隱藏的按鈕變得能夠點擊),全部就從新開發一個更加完善的按鈕,並且也不那麼醜了。
  • 時間顯示的控件就是純粹爲了好玩開發的,想作個更有意思的控件,順便練練手,技能。
  • 縱向的豎立着的進度條,因爲微軟沒有提供豎立的進度條,而當你須要這種時就很麻煩,通常橫向的進度條用微軟的便可,可是本組件的進度條也提供了橫着的選項。
  • 餅圖控件,爲了方便的顯示一些數據的佔用比,而開發的。
  • 儀表盤控件,顯示一些儀表的數據,使用儀表顯示更加的人性化。
  • 信號燈控件,顯示簡單的信號燈狀態。
  • 曲線控件,顯示曲線的狀況,多曲線對比,實時數據顯示。

 

要想使用組件的控件,除了使用NuGet來安裝組件外,還須要將組件的dll文件(在你的項目的packages裏面能夠找到,若是你原本就是引用本地的,就直接拖拽本地的便可)拖拽到工具欄:oop

拖拽完成後效果以下:動畫

 

ok,如今能夠將控件拖到界面上了,接下來就分別講解幾個控件:指針

 

 

按鈕控件:


直接拖到主界面效果以下:orm

公開的屬性以下:htm

 

基本的屬性都是有註釋的,要想設置顯示的文本,設置UIText便可。能夠設置文本顏色,按鈕是否選中,以及圓角大小,基本經常使用的就這幾項了。雙擊按鈕,進入Click事件也是和button一致的,和button不同的地方除了界面的區別,還有就是沒法被灰色精靈破解,還有按鈕自帶一個string屬性:CustomerInformation    便於擴展一些自定義的數據。

時間控件:


直接拖到主界面效果以下:

主要功能是本身獲取系統的時間,而後進行顯示,公開了一些容許設置的屬性界面:

主要是指針的顏色設置,文本設置。

進度條控件:


直接拖到主界面效果以下,演示了縱向和橫向的兩種進度條,以及一些顏色的設置,相關的屬性,隨便點點就能夠明白:

 

主要設置的屬性是背景色,前景色,是否顯示文本,邊框色,是否啓動動畫,等等

 特別說明:Max是上限值,若是設置爲100,那麼Value = 10  就是10%, 而另外一個屬性 ValueChangeSpeed 則是和動畫快慢有關的。

 

餅圖控件:


直接拖到主界面效果以下,餅圖數據的現實此處要是使用代碼來實現:

餅圖控件的屬性相對比較少,目前就只有一個  IsRenderPercent  是否顯示百分比的功能。

而後經過代碼來實現設置數據信息:

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來實現數據自己。效果以下:

此處的顏色也是隨機獲取的,禁止了白色及接近的白色的自動生成。若是須要指定本身的顏色,須要調用該方法的重載方法,傳入另外一種類型的數據,容許傳入名字,值,及顏色。若是設置了顯示佔用百分比,以下:

 

儀表盤控件:


話很少說,先上圖,再解釋:

儀表盤控件的基礎屬性以下:

主要支持的特性爲:

  • 隨意調整大小,儀表的扇形也會隨之變化,從半圓到微小的扇形均可以。
  • 支持設置顯示區間,起始值,最大值,設置的當前值須要處於二者之間,不然無效。
  • 指針的變更支持簡單的動畫效果。
  • 支持手動設置刻度的分段數量,好比我要設置0-140的狀況,分爲14段比較合理,若是儀表盤較大,分爲28段也能夠。
  • 支持下限報警區間和上限報警區間,在儀表盤控件的外層有額外顯示。
  • 支持值處於報警區間時的文本閃爍。
  • 支持手動設置指針的顏色。
  • 支持設置單位或額外的文本顯示信息。

 

按鈕開關控件:


話很少說,先上圖,再解釋:

按鈕開關支持2中狀態,關和開,能夠設置自定義的前景色,背景色,按鈕開關變化時將會觸發 OnSwitchChanged 事件,能夠在屬性窗口的事件管理器來設置事件。

主要的設置對象是前景色,背景色,開關狀態。

信號燈控件:


這個控件相對比較簡單,除了一個顏色設置外,目前尚未其餘什麼功能:

屬性也很簡單。

 

曲線控件:


曲線控件用於方便的顯示一些實時數據的趨勢,因爲曲線控件功能複雜,因此單獨開了一篇文章講解曲線控件:http://www.cnblogs.com/dathlin/p/8341222.html

此處就貼幾張效果圖:僅供參考

單曲線-像素點模式顯示

單曲線-拉伸模式

多曲線-像素點模式

雙座標-多曲線-像素點模式

 

 

其餘控件:


未完待續...

相關文章
相關標籤/搜索