65.9K
CodeProject 正在变化。 阅读更多。
Home

TomOMeter

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.05/5 (9投票s)

2005 年 4 月 1 日

1分钟阅读

viewsIcon

44268

downloadIcon

1572

一个仪表控件。

Sample Image

引言

该控件允许用户使用类似于经典音频分贝表的仪表样式显示值。它提供了一种愉悦的视觉表示,用于显示两个用户可分配值之间的值。此外,用户可以指定“红区”的范围,以指示高电平。

背景

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:指定单位(小)标签。

该控件是可调整大小的,但必须小心避免裁剪显示。当您要测量的数值发生变化时,只需将 TomOMeterDeflection 属性设置为此新值即可。

例如,在我的演示程序中,我想在 TrackBar 的值发生变化时更改指针的偏转。我通过在主窗体的 trackBar1.ValueChanged 事件处理程序中执行此操作

private void trackBar1_ValueChanged(object sender, System.EventArgs e) 
{
    this.userControl11.Deflection = this.trackBar1.Value;
}

关注点

遗憾的是,此控件对较小的值效果不佳。由于控件上只有 10 个刻度,并且我将值四舍五入到最接近的整数,因此小于 10 或对于相对较小的值不是 10 的倍数的值会产生一些不太理想的结果。

© . All rights reserved.