上一步中你已创建了一个新应用、在窗体中添加了一个C1Gauge及自定义了这个控件。剩下要做的就是运行这个应用方案。
选择VS菜单中的Debug | Start Debugging.然后整个应用方案出现。
你已完成
恭喜你!你已成功创建一个C1Gauge控件。很多模板都可以用在你的仪表中。更多信息参见"Gauges for WinForms
Appearance"。
Gauges for WinForms组件
ComponentOne Gauges for WinForms 以径向和线性仪表的形式来显示信息。还可以将仪表调整为一个输入控件类似于旋钮、轨迹条或是滚动条之类的输入控件。
C1Gauge对象及用途
下列主题展现C1Gauge的类及组件的用途。
C1Gauge控件
C1Gauge控件是包含仪表和样式的容器控件。C1Gauge控件同时支持线性和径向仪表。仪表显示数据,可以利用指针和类似于标签、刻度及区间的装饰进行自定义。径向仪表可以是圆形、半圆形、翻盖式、螺旋形或弧线形的。线性仪表可以是水平的、垂直的、倾斜的或自由形状的。
C1Gauge控件也支持外观样式。样式由静态图表、标题或图片组成。样式中包括以下几何图形:圆、矩形、和扇形 ,每一种都可以自定义设置。样式还可以制定其他元素的剪裁区域,比如其他的形状、装饰及指针。
指针是指示当前值的元素。可以将装饰和指针绑定。例如,你可以将一个单独的标签绑定到指针上,然后标签就会显示当前值。这种强大的技术会在"Decorators"部分详细讨论。
除了自定义位图图片,Gauges for WinForms中的所有图片都是基于矢量的。在你选择C1Gauge容器控件和它的仪表时可以抓取他们。你可以指定仪表全部或部分位置及他们的高宽比。
C1Gauge构成
当将仪表置入C1Gauge控件中时,C1Gauge控件是由若干层元素组成的。比方说,,一个带C1RadialGauge的C1Gauge 的所有组成元素如下所示(从后至前):
控件的背景色和/或背景图片是最后层。
接下来一层是接下来一层是C1Gauge.FaceShapes
C1RadialGauge.FaceShapes
C1RadialGauge.Decorators
C1RadialGauge.Pointers
C1RadialGauge.Cap
C1RadialGauge.CoverShapes
C1Gauge.CoverShapes 是最上面一层.
我们来看一看一个简单的径向仪表的组成(更多信息参见" GaugeDemo"应用中的"Interactive"实例)。整个仪表的一些状态如下图所示。
这个仪表 有以下部分组成:外观、装饰、指针及指针帽。
外观是一个仪表的背景。
共有四种形状:三个圆(C1GaugeEllipse)和一个带圆角的矩形(C1GaugeRectangle)。
装饰展现了仪表的刻度区间、刻度及刻度值。
这个仪表包括一个区间(C1GaugeRange)、大小刻度(C1GaugeMarks)、刻度值(C1GaugeLabels)、绑定的状态标志(C1GaugeSingleMark)及显示当前值的标签(C1GaugeSingleLabel)。
仪表最重要的部分是指针(C1GaugePointer)及指针帽(C1GaugeCap)。
C1Gauge属性
C1Gauge控件含有若干使你可以自定义控件外观及行为的属性。C1Gauge控件主要属性有:
C1Gauge.Gauges-显示在容器控件中的仪表集。
C1Gauge.FaceShapes –显示在控件背景色和仪表之间的"background"样式集。
C1Gauge.CoverShapes –显示在所有组成元素上方的"foreground"样式集。
C1Gauge.Font –制定所有仪表标签的默认字体。
C1Gauge.ForeColor –设定仪表及样式中所有边框及标签的默认颜色。
C1Gauge.BackColor –设置默认填充色。
C1Gauge.Shadow –所有仪表阴影的默认设置。
C1Gauge.CacheBackground 和C1Gauge.CacheForeground –这些属性确定所有的静态背景及或前景元素是否被绘入离屏图像中。当前值变化时,这样的图像会被迅速绘制。这将会以额外的存储代价来提高性能。
C1Gauge.SupportsTransitionEffect –在用户调用参数"duration"的"C1Gauge.EndUpdate()"方法时,这个属性将会使得控件状态的切换过程更为平稳。
C1Gauge.FramesPerSecond –设置仪表容器重绘频率的最大值。通过减小这个值你可以改善整个控件的性能。
C1Gauge.Selectable –若为"True",控件处于可选状态,会有输入光标。
在设计视图中选中某个仪表时,点击控件左上角的抓取手柄,然后就可以很容易地将所选项移动到所属的C1Gauge控件中。另一种方法则是按"Escape"键-这也可以将所选项移动到所属控件中。
Gauge组件
仪表主要包括"C1RadialGauge"和"C1LinearGauge"组件(都是从"C1GaugeBase"类演化而来)。仪表不是控件;他们是被添加到"C1Gauge.Gauges"集合中的简单组件。
你可以在设计器上选中仪表然后在标准属性列表、特殊"Item Editor"或"C1Gauge.Gauges"集合属性的集编辑器中编辑仪表的属性或是事件。仪表的设计器支持标准的操作如剪切、复制、粘贴、删除、前一步或后一步。你还可以右击某个仪表来显示他们的快捷菜单。这能使你快速编
辑"C1GaugeBase.FaceShapes/C1GaugeBase.CoverShapes"及"C1GaugeBase.Decorators"集。仪表可以保存为XML木板格式,然后从XML文件中载入。你同样也可以保存或载入各个仪表的布局及外观设置。
你可以利用标准.NET数据绑定技术将仪表绑定到一个数据源。若一个仪表有若干指针,可将这些指针绑定的不同的数据源(一个仪表至多5个指针)。
C1GaugeBase基类的主要属性包括:
C1GaugeBase.Decorators –各装饰集合,如标签、刻度线等
C1GaugeBase.FaceShapes 和 C1GaugeBase.CoverShapes –两种样式的结合:一种是"FaceShapes",显示在仪表中所有组成元素之后;另一种是"CoverShapes",显示在所有组成元素之上。
C1GaugeBase.Pointer –仪表的主指针。你可以隐藏它却不能删掉它。
C1GaugeBase.MorePointers –另一些指针集。
C1GaugeBase.Value –主指针的当前值。
C1GaugeBase.Minimum 和C1GaugeBase.Maximum –制定所有指针值的上下限,比如刻度值。
C1GaugeBase.Viewport –制定仪表工作区域的界限。
后续主题中,你会了解到径向及线性仪表的特殊属性。
C1RadialGauge组件
C1RadialGauge包含中心点、半径、起始位置及扫描角。"PointerOriginX"和"PointerOriginY"属性可设定与这个仪表相关的极坐标系的中心。基底尺寸是工作区(较为次要)的高度或宽度。逻辑坐标系中长度为100的基底尺寸部分由"Radius"设定。
"StartAngle"和"SweepAngle"可设置角度坐标值的区间。相对于标准极坐标系,0°在中心点的这个上方。
"StartAngle"属性定义了"C1GaugeBase.Minimum"的角度值。"(StartAngle+ SweepAngle)"角度对应于"C1GaugeBase.Maximum"值。将"IsReversed"属性设为"True",就可以将角坐标系方向反转。
C1LinearGauge组件
水平线性仪表将工作区的高度作为基底尺寸。立式线性仪表将工作区的宽度作为基底尺寸。C1LinearGauge中的"BaseOrigin"属性可以明确横向轴线的起始位置(基底尺寸的一部分)。逻辑坐标系中长度为100的基底尺寸部分由"BaseFactor"设定。
"AxisStart"和"AxisLength"属性设定纵向(值)轴的起始位置和长度。若将"IsReversed"属性设为"True",则纵轴的方向将与值增加的方向相反。下图展示了线性仪表坐标系的一些可选项。