如何在windows进度条中设置颜色渐变?

时间:2011-03-06 09:54:36

标签: winforms progress-bar

我正在使用Windows进度条。我想在此进度条中显示不同的颜色渐变。

prim1.BackColor = Color.FromArgb(252, 115, 115);
prim1.BackColor2 = Color.FromArgb(253, 33, 33);
prim1.BackColor3 = Color.FromArgb(253, 33, 33);
prim1.BackColor4 = Color.FromArgb(252, 115, 115);

这些渐变设置我显示不同颜色的阴影。这在RadProgressbar中是可能的。这可以在windows progressbar中使用吗?

3 个答案:

答案 0 :(得分:1)

快速提示:在创建需要大量计算/ CPU时间的进度条时要非常小心。

大多数情况下,当您需要一个进度条时,您可以使用它来提供有关长时间运行流程的反馈,该流程需要CPU时间,并且通过引入代价高昂的进度条,您可能会比您想要的更多地延伸该流程。

答案 1 :(得分:1)

您必须替换它,当启用视觉样式时,本机Windows进度条不支持自定义颜色。颜色由用户喜欢的主题选择。取代进度条过去非常简单,它没有做任何花哨的事情。虽然获得了子步插值和动画功能,但在Vista中这一点要困难得多。重现需要大量您可能不想维护的代码。

实际上,通过在OnPaint方法中使用LinearGradientBrush或PathGradientBrush从Control中派生类并保持静态来创建自己的类。或坚持用户选择的内容,她不会失望。

答案 2 :(得分:0)

确定你可以,但不是开箱即用(使用Winform)。你必须做一个所有者绘制的进度条,我想你可以从这里开始:Animated "glow" in owner-drawn Progress Bar (ListView/DataGridView) 不完全是相同的你,但我认为你将有很好的材料来启动。