c#在轨迹栏后面画一条线的最简单方法

时间:2011-09-05 18:52:53

标签: c# windows winforms drawing trackbar

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

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

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

1 个答案:

答案 0 :(得分:1)

我有一个类似的问题,很遗憾你不能在轨迹栏控件上执行此操作。 但是,创建自己的用户绘制轨迹栏非常简单 have a look at this article.

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

如果您查看代码,您应该会看到所有您需要做的就是更改OnPaint方法,使用您选择的颜色在trackRectangle上绘画。