TomOMeter






2.05/5 (9投票s)
2005 年 4 月 1 日
1分钟阅读

44268

1572
一个仪表控件。

引言
该控件允许用户使用类似于经典音频分贝表的仪表样式显示值。它提供了一种愉悦的视觉表示,用于显示两个用户可分配值之间的值。此外,用户可以指定“红区”的范围,以指示高电平。
背景
TomOMeter 是一个使用 .NET 和 C# 创建的自定义 Windows 控件库。它利用 Matrix 对象的旋转来绘制“圆形”对象。
使用代码
将 TomOMeter 添加到您的窗体后,您可能需要更改其一些属性,特别是
- End_Value:指定仪表的最大值。
- Start_Value:指定仪表起始值。
- Hash_Mark_Color:指定非“红区”刻度的颜色。
- Hash_Mark_Width:指定所有刻度的宽度。
- Label:指定顶层(大)标签。
- Needle_Color:指定指针颜色。
- Number_Font:指定用于数字的字体。
- Red_Zone:指定绘制刻度为“红区”颜色的值。
- Red_Zone_Color:指定用于“红区”的颜色。
- Text_Color:指定数字和标签的颜色。
- Units:指定单位(小)标签。
该控件是可调整大小的,但必须小心避免裁剪显示。当您要测量的数值发生变化时,只需将 TomOMeter 的 Deflection 属性设置为此新值即可。
例如,在我的演示程序中,我想在 TrackBar 的值发生变化时更改指针的偏转。我通过在主窗体的 trackBar1.ValueChanged 事件处理程序中执行此操作
private void trackBar1_ValueChanged(object sender, System.EventArgs e) 
{
    this.userControl11.Deflection = this.trackBar1.Value;
}
关注点
遗憾的是,此控件对较小的值效果不佳。由于控件上只有 10 个刻度,并且我将值四舍五入到最接近的整数,因此小于 10 或对于相对较小的值不是 10 的倍数的值会产生一些不太理想的结果。
