C#窗体程序如何把progressbar控件设置成渐变色
时间: 2024-02-23 08:00:36 浏览: 97
设置窗体渐变色背景图像,C#源代码 Rectangle MyRect = this.ClientRectangle;
4星 · 用户满意度95%
C#窗体程序中,可以通过继承ProgressBar控件,自定义绘制方法来实现渐变色的效果。
以下是一个示例代码,可以实现渐变色的效果:
```csharp
public class GradientProgressBar : ProgressBar
{
protected override void OnPaint(PaintEventArgs e)
{
Rectangle rect = e.ClipRectangle;
if (ProgressBarRenderer.IsSupported)
ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rect);
rect.Inflate(-3, -3);
if (Value > 0)
{
var clip = new Rectangle(rect.X, rect.Y, (int)Math.Round(((float)Value / Maximum) * rect.Width), rect.Height);
using (var brush = new LinearGradientBrush(rect, Color.Blue, Color.Red, LinearGradientMode.Horizontal))
{
e.Graphics.FillRectangle(brush, clip);
}
}
}
}
```
将以上代码放入一个类文件中,并在窗体中使用该控件即可实现渐变色的进度条效果。
阅读全文