【问题标题】:how to set color gradient in windows progress bar?如何在windows进度条中设置颜色渐变?
【发布时间】:2011-03-06 09:54:36
【问题描述】:

我正在使用 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 进度条中这可能吗?

【问题讨论】:

    标签: winforms progress-bar


    【解决方案1】:

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

    大多数情况下,当您需要进度条时,您会使用它来对长时间运行的进程提供反馈,该进程需要 CPU 时间,并且通过引入代价高昂的进度条,您可能会超出您的预期。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        当然可以,但不是开箱即用的(使用 Winform )。你要做一个 Owner Drawn 进度条,我想你可以从这里开始:Animated "glow" in owner-drawn Progress Bar (ListView/DataGridView) 不完全是你们中的相同,但我认为你们将有很好的材料开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-04
          • 1970-01-01
          • 2018-09-18
          • 2016-10-01
          • 2017-07-30
          相关资源
          最近更新 更多