HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用。

Prepare



先从nuget下载到组件,然后就可以使用组件里的各种组件信息了。

在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装:

Install-Package HslControls

  

NuGet安装教程  http://www.cnblogs.com/dathlin/p/7705014.html

技术支持QQ群:群1:592132877(满)  群2:948305931(组件的版本更新细节也将第一时间在群里发布)

如果你在使用控件的过程中有什么疑问,或是发现了BUG,或是功能建议,等等都可以加入上面的QQ群进行讨论。文章更新时间:2019年1月5日 16:51:41

Demo



有一个demo程序可以下载,地址为 demo.zip

所支持的控件信息如下:

Use



正常安装完成后,就会在组件库出现下面的控件内容,然后可以拖动使用,如果没有出现列表,就需要把dll文件拖动到工具箱就行。

常用控件



先上图:

1. 圆角按钮,主要是有一个圆角的效果,和自带的按钮基本差不多,还带有一个 Selected 属性,用于获取或设置按钮是否处于选中状态。

2. HslPlay 控件,有点像一个播放器,各种颜色可调,需要注意的是有个事件 OnPlayChanged  当播放状态改变的时候,就会触发(比onclick事件要好)。

3. 开关控件,主要实现两个状态的切换,上面有个属性可以设置文本 SwitchStatusDescription = "关;开";  用分号区别即可,也有个事件OnSwitchChanged可以用来做状态的改变。

进度条控件



先上图

特性支持,属性如下:

共有两种进度条的样式,一个是矩形的,一个是圆角的。都可以设置,背景色,前景色,是否使用动画效果。动画的速度都可以设置。也可以竖着的控件摆放样式

信号灯控件



先上图

支持纯色的信号灯,和渐变色的信号灯,当然,我们可以设置任意的颜色,根据自己的需求进行设计。

数码管控件



先上图

BackColor  就是整个LED的背景

DisplayBackColor 就是数据吗数字的背景

DisplayNumber  就是数码管显示的位数

DisplayText  就是最终显示的文本

ForeColor 就是最终显示文本的前景色

LedNumberSize  就是数码管单个显示的粗细

我们可以随意拖动数码管的大小,然后设置显示的数据量大小,颜色,粗细等等细节。一般所有的参数调整好后,我们使用 DisplayText  赋值就行。

时钟控件



先上图

主要的属性如下

ClockBackColor  就是时钟控件中间的背景色。

ForeColor  就是所有的文本的颜色

HourColor  就是小时那根针的颜色

IsSecondStep  设置秒针是否一秒一秒走动还是连续走动。

MiniteColor 就是分钟的那根针的颜色

SecondColor 就是秒针的颜色

Text  就是在时钟上显示的额外的信息

曲线控件



曲线控件比较麻烦一点,无法通过直接的配置添加曲线,需要代码来实现显示的逻辑功能,先上图

在使用前,先进行一些基本的设置信息,

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 );

  

如果你想要显示一个实时的曲线信息,就要分两步走,先预设定曲线的基本信息,关键字,颜色,宽度,是否平滑等等信息

            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的源代码来开发。

仪表盘控件



上图

这个是旧版的仪表盘,如下:

相关的属性点击属性标签就会在下方显示出来。

新版的如下:

管道控件



上图

直接拖出来的控件是横向的,如果想要拐角,需要设置属性

左端点和右端点的属性设置

瓶子控件



上图

饼图控件



上图

传送带控件



上图

传送带滚筒



温度计控件



如图

鼓风机控件



如图:

阀门控件



电池控件



分类器控件



原文地址:https://www.cnblogs.com/dathlin/p/10226072.html

时间: 2024-07-30 10:18:09

HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等的相关文章

MFC控件编程:旋转按钮、进度条和滑块控件

旋转按钮(微调按钮) : 对应的控件类是CSpinButtonCtrl 进度条:对应的控件类是CProgressCtrl 滑块:对应的控件类是CSliderCtrl 对这三个控件的操作都是同过与之相关联的控件类完成的,并且这三个控件有极大的相似性,故这里放到一起 先认识下: Spin:            Progress:             Slider: 常用函数: SetRange()/GetRange(); // 设置.获取控件表示的范围 /* 设置控件的增量(步长) */ CS

Spring.Net.Framework快速开发平台之第一章SNF-MVC通用控件库展示-绝对让你眼前一亮

在我们开发中怎么才能提高效率,就是要有大量的公共组件(控件)可以直接使用而不用自己再开发一遍,既然是公共控件那也得简单实用才行.下面就介绍一下SNF-MVC当中的控件库. 总体控件库展示: 1.通用用户选择(单选.多选) 2. 通用组织机构选择 3. 通用角色选择 4. 通用弹出选择窗口 a) 弹出列表(单选.多选) b) 弹出树(单选.多选) 5. 通用下拉选择 a) 下列选择(单选.多选) b) 下列选择树(单选.多选) 6. 几个通用表单控件 a) 金额.数字 b) 日期.日期范围 c)

C语言实现的简易可移植GUI控件库

从大一开始接触到单片机(MCU),一直都觉得挺好玩的.从8位的51单片机到16位的TI MSP系列的单片机都尝试学过.感觉还不错,不过,以前一直都觉得32位的ARM处理器距离自己很遥远.幸运的是,如今我确实有机会接触一款32位的处理器了.当然使用的是Cortext M4内核,TI Stellaris系列处理器之一.       在这几天的学习中,发现高端的处理器确实很强大,不管是内存,FLash存储空间,还是内部的各种硬件资源都极为丰富.也让我一时间不知所措了.此外,还学习了下TFT彩屏的操作.

(四)开源C# WPF控件库《AduSkin – UI》

微信公众号:[Dotnet9的博客],网站:[Dotnet9],问题或建议:[请网站留言], 如果对您有所帮助:[欢迎赞赏]. (四)开源C# WPF控件库<AduSkin> 追求极致,永臻完美 A Beautiful WPF Control UI 一款简单漂亮的WPF UI,融合部分开源框架的组件,为个人定制的UI,可供学者参考. 阅读导航 关于<AduSkin> 1.1 控件库全貌 1.2 动态修改主题色 1.3 技术交流 基于<AduSkin>控件库衍生的Case

[WPF]是时候将WPF控件库从.Net Framework升级到.NET Core 3.1

1. 升级到Core的好处 去年中我曾考虑将我的控件库项目Kino.Toolkit.Wpf升级到.NET Core,不过很快放弃了,因为当时.NET Core是预览版,编译WPF还需要使用最新的Visual Studio 2019,这样作为一个教学项目不够友好.到了今天.NET Core 3.1都出来了,已经正式支持WPF和Winform,Visual Studio 2019也已经普及,我觉得应该是时候将我的控件库升级到.NET Core.那么现在是WPF正式迁移到.NET Core的好时机吗?

(C/C++)基于SharpUI控件库的插件式框架开发--第一篇简介

看到题目,很明显这里要说的是插件式框架的开发,当然是用c/c++来实现的.开发对于我来说,是一种爱好,但并非科班出身,所以这里要说的一点分享就是,开发并不是会写代码就行了,最主要的是要有思路想法,比如要实现一个功能,就要知道,这个功能到底是要来实现啥的,要实现它需要什么样的算法等等,做到胸中有丘壑,再去用最简单代码去实现它,就会发现写代码是一件很享受的事情. 参加工作快两年了,一开始的是用C#开发,写了半年多的功能和小控件,上手之后,参考ICSharpCode.Core.Presentation

DevExpress控件库 开发使用经验总结3 制作项目安装包

2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使用,请参考http://www.cnblogs.com/SavionZhang/p/4106338.html. 实际情景:SetupFactory V9.0.3.DevExpress14.1.8.依赖程序.Net Framework 4.0. 由于项目中引用了很多DevExpress控件库中的DLL

andorid 控件 Bootstrap3.0风格的控件 精美UI控件库

Bootstrap是Twitter推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成.Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目.在逛github的时候,发现有位牛人做成 android版的 bo

xamarin-forms (一) 建一个独立控件库,使控件独立出来,让项目分离开来。

大家在写xamarin forms应用的时候,可能需要写一个独立的类库,去封装控件.然后提供给其他的项目中的xaml引用.类似于这种样子 这个myLabel就是我自己封装的一个Label.... 在说这个控件怎么封装之前,先介绍我的一个发现:这种方式不仅仅可以应用于控件的封装,,,,用这种方式可以封装一切 资源,提供给其他项目使用.. 先从封装一个最简单的计算类说起 首先:建一个独立的控件项目,并写一个静态类,类名要个命名空间额最后一个单词一样,里面要有一个静态方法Init 其次:我建一个类,类