不同的值范围
同一个仪表可能会有不同的值范围,以时钟为例:
分针和秒针的值范围是0到60,时针的值范围是1到12,但Gauge只有一组Minimum和Maximum属性,也就是只有一个值范围,那么怎样才能设计类似时钟的仪表呢?
Labels和Pointer都有ValueFactor属性,用于设置值的缩放倍数,假定标签值为50,如果ValueFactor为0.2,则标签显示的文本为10
,如果ValueFactor为2,则标签值显示的文本为100。
以上面的时钟为例,
1、将GaugeGauge的Minimum和Maximum属性分别设置为0和60,startAngle和sweepAngle分别设置为0和360。
2、增加两个Marks,Interval分别设置为5和1.
3、增加一个Labels,Interval设置为5,此时标签值为"5,10,15,20,25,30,35,40,45,50,55,60",然后将ValueFactor设置为0.2,显示的标签值变为"1,2,3,4,5,6,7,8,9,10,11,12",注意变化的只是显示文本,值不会改变,例如标签9对应的Value实际上还是45.
4、将Lables的From或ScaleFrom属性设置为1。
5、将Pointer的的Visible设置为False.
6、在MorePointers集合中增加三个指针,Name属性的分别为Hour、Minute和Second。
7、将Hour指针的ValueFactor设置为5,这样当给Hour指针的Value属性赋值的时候,会先乘以5,例如:
gg.RadialGauge.MorePointers("Hour").Value = 9
系统会将9乘以5得到45,所以Hour指针指向Value为45的位置,也就是标签值为9的位置。