本篇博客主要對 HslControls 組件作一個大概的總覽介紹,更詳細的內容能夠參照頁面裏的子連接,還有github上的源代碼,而後進行相關的學習,和使用。html
先從nuget下載到組件,而後就可使用組件裏的各類組件信息了。git
在Visual Studio 中的NuGet管理器中能夠下載安裝,也能夠直接在NuGet控制檯輸入下面的指令安裝:github
Install-Package HslControls
NuGet安裝教程 http://www.cnblogs.com/dathlin/p/7705014.htmldom
有一個demo程序能夠下載,地址爲 demo.zip工具
所支持的控件信息以下:學習
正常安裝完成後,就會在組件庫出現下面的控件內容,而後能夠拖動使用,若是沒有出現列表,就須要把dll文件拖動到工具箱就行。動畫
先上圖:設計
1. 圓角按鈕,主要是有一個圓角的效果,和自帶的按鈕基本差很少,還帶有一個 Selected 屬性,用於獲取或設置按鈕是否處於選中狀態。3d
2. HslPlay 控件,有點像一個播放器,各類顏色可調,須要注意的是有個事件 OnPlayChanged 當播放狀態改變的時候,就會觸發(比onclick事件要好)。orm
3. 開關控件,主要實現兩個狀態的切換,上面有個屬性能夠設置文本 SwitchStatusDescription = "關;開"; 用分號區別便可,也有個事件OnSwitchChanged能夠用來作狀態的改變。
先上圖
特性支持,屬性以下:
共有兩種進度條的樣式,一個是矩形的,一個是圓角的。均可以設置,背景色,前景色,是否使用動畫效果。動畫的速度均可以設置。也能夠豎着的控件擺放樣式
先上圖
支持純色的信號燈,和漸變色的信號燈,固然,咱們能夠設置任意的顏色,根據本身的需求進行設計。
先上圖
BackColor 就是整個LED的背景
DisplayBackColor 就是數據嗎數字的背景
DisplayNumber 就是數碼管顯示的位數
DisplayText 就是最終顯示的文本
ForeColor 就是最終顯示文本的前景色
LedNumberSize 就是數碼管單個顯示的粗細
咱們能夠隨意拖動數碼管的大小,而後設置顯示的數據量大小,顏色,粗細等等細節。通常全部的參數調整好後,咱們使用 DisplayText 賦值就行。
先上圖
主要的屬性以下
ClockBackColor 就是時鐘控件中間的背景色。
ForeColor 就是全部的文本的顏色
HourColor 就是小時那根針的顏色
IsSecondStep 設置秒針是否一秒一秒走動仍是連續走動。
MiniteColor 就是分鐘的那根針的顏色
SecondColor 就是秒針的顏色
Text 就是在時鐘上顯示的額外的信息
高級的歷史曲線控件的使用參照另外一篇博客 http://www.javashuo.com/article/p-mjxsjqwi-db.html,這裏是實時控件。
曲線控件比較麻煩一點,沒法經過直接的配置添加曲線,須要代碼來實現顯示的邏輯功能,先上圖
在使用前,先進行一些基本的設置信息,
IntervalAbscissaText 指示縱向的虛線方向的分割點數,若是爲100,那就是每隔100個像素點繪製一條虛線
IsAbscissaStrech 若是設置爲true,那麼曲線就佔滿整個控件,好比強制這個曲線控件顯示100個點,而無關控件的寬度。若是設置爲true,那麼控件顯示的點數信息,將取決於控件的寬度界面。
IsRenderDashLine 是否顯示虛線的輔助線。
IsRenderRightCoordinate 是否顯示右側的座標軸
StrechDataCountMax 當IsAbscissaStrech 爲true的時候,曲線控件強制規定的顯示數據點數。這時候和控件無關。
TextAddFormat 獲取或設置實時數據新增時文本相對應於時間的格式化字符串,默認HH:mm
Title 曲線控件顯示的標題
ValueMaxLeft 左側座標軸的最大值
ValueMinLeft 左側座標軸的最小值
ValueMaxRight 右側座標軸的最大值
ValueMinRight 右側座標軸的最小值
ValueSegment 獲取或設置圖形的縱軸分段數
使用說明,先定義一個獲取隨機數據的方法
private float[] GetRandomData( int length, int max ) { float[] buffer = new float[length]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = random.Next( max ); } return buffer; }
簡單的設置固定的曲線
hslCurve1.SetCurveText( new string[] { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" } ); hslCurve1.SetLeftCurve( "A", GetRandomData( 12, 100 ), Color.Blue );
曲線標註:
hslCurve1.SetCurveText( new string[] { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" } ); hslCurve1.SetLeftCurve( "A", GetRandomData( 12, 100 ), Color.Blue ); hslCurve1.AddMarkText( new HslControls.HslMarkText( ) { Index = 2, CurveKey = "A", MarkText = "很給力" } ); hslCurve1.AddMarkText( new HslControls.HslMarkText( ) { Index = 5, CurveKey = "A", MarkText = "不太行了", TextBrush = Brushes.Red } );
標註的效果以下:
若是你想要顯示一個實時的曲線信息,就要分兩步走,先預設定曲線的基本信息,關鍵字,顏色,寬度,是否平滑等等信息
hslCurve5.SetLeftCurve( "A", null, Color.DodgerBlue, true ); hslCurve5.SetLeftCurve( "B", null, Color.DarkOrange, true ); hslCurve5.SetLeftCurve( "C", null, Color.LimeGreen, true );
此處的例子就是設置了三條曲線,數據爲空,顏色,和平滑效果
而後你實時讀取到數據後,增長進曲線就好了。
hslCurve5.AddCurveData( new string[] { "A", "B", "C" }, new float[] { random1*10 + 80, random2*20+50, random2*30, } );
此處須要注意的是,若是你有三條曲線,就須要三條一塊兒新增。
固然,本曲線控件支持雙座標,多曲線的顯示狀況。更多的信息,參照demo的源代碼來開發。
上圖
這個是舊版的儀表盤,以下:
相關的屬性點擊屬性標籤就會在下方顯示出來。
新版的以下:
上圖
直接拖出來的控件是橫向的,若是想要拐角,須要設置屬性
左端點和右端點的屬性設置
上圖
上圖
上圖
如圖
如圖: