【问题标题】:c# easiest way to draw a line behind a trackbarc#在轨迹栏后面画一条线的最简单方法
【发布时间】:2011-09-05 18:52:52
【问题描述】:

我正在用 c# 创建一个应用程序,我想在轨迹栏组件上获得相同的效果,就像在 Windows 7 中的系统音量应用程序中一样(绿线代表当前的声级输出)。

我想根据一些逻辑在轨迹栏后面画一条绿线。问题是轨迹栏有背景颜色,如果我在它后面画任何东西,背景颜色会画在线条上,我不能画在它上面,因为它会画在轨迹栏滑块/按钮上。

我必须从头开始实现我自己的轨迹栏绘制方法还是有更简单的解决方案?

【问题讨论】:

  • TrackBar 是一个很难自定义的控件,TBM_GETPTICS 没有返回足够的信息。不要打扰。

标签: c# windows winforms drawing trackbar


【解决方案1】:

我遇到了类似的问题,很遗憾您无法在轨迹栏控件上执行此操作。 然而,创建您自己的用户绘制的轨迹栏非常简单 have a look at this article.

然而,我最终做的是使用 TrackBarRenderer 类来创建我自己的轨迹栏,这样做的好处是它使用相同的代码,因此具有与标准轨迹栏相同的样式,但您几乎可以更改关于它,有一个如何使用这种样式创建轨迹栏的示例here.

如果您查看代码,您应该会发现您需要做的就是更改OnPaint 方法,以使用您选择的颜色在trackRectangle 上进行绘制。

【讨论】:

  • 我只是使用自定义绘制元素作为轨迹栏。更有用
  • 你的意思是和第一篇一样吗?
  • 如果我没记错的话,我创建了一个缓冲区,然后在那里完成了我所有的绘图。我根本没有使用轨迹栏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多