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

Winforms 如何在windows进度条中设置颜色渐变?,winforms,progress-bar,Winforms,Progress Bar,我正在使用windows progressbar。我想在这个进度条中显示不同的颜色渐变 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); prim1.BackC

我正在使用windows progressbar。我想在这个进度条中显示不同的颜色渐变

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); prim1.BackColor=Color.FromArgb(252115115); prim1.BackColor2=Color.FromArgb(253,33,33); prim1.BackColor3=Color.FromArgb(253,33,33); prim1.BackColor4=Color.FromArgb(252115115);
这些渐变使我可以显示不同的颜色深浅。这在RadProgressbar中是可能的。在windows progressbar中是可能的吗?

当然可以,但不能开箱即用(使用Winform)。您必须创建一个由所有者绘制的进度条,我认为您可以从这里开始:
与你们不完全相同,但我认为你们会有很好的材料来启动。

一个快速提示:创建需要大量计算/CPU时间的progressbar时要非常小心


大多数情况下,当您需要progressbar时,您会使用它对长时间运行的进程提供反馈,该进程需要CPU时间,而引入昂贵的progressbar可能会使该进程超出您的预期。

您必须更换它,启用视觉样式时,本机Windows进度条不支持自定义颜色。颜色由用户首选的主题选择。更换进度条过去很容易,它没有做任何花哨的事情。但在Vista中,当它具有子步插值和动画功能时,这就变得更加困难了。复制这需要大量您可能不想维护的代码

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