ProgressBar颜色显示

(本人博客代码部分全部为测试通过后手敲,有可能敲错单词,勿喷)

先看效果图:

首先新建一个ProgressBar.cs文件

在这个文件里面增加写入下面的代码:

public calss MyProgressBar:ProgressBar

{
    public MyProgressBar()
    {
        base.SetStyle(ControlStyles.UserPaint,true);
    }

    //重写OnPaint方法
    protected override void OnPaint(PaintEventArgs e)
    {
        SolidBrush brush=null;
        Rectangle bounds=new Rectangle(0,0,base.Width,base.Height);
        bounds.Height-=4;
        bounds.Width=((int)(bounds.Width*(((double)base.Value)/((double)base.Maximum))))-4;                                                        
        brush=new SolidBrush(Color.Blue);
        e.Graphics.FillRectangle(brush,2,2,bounds.Width,bounds.Height);        
    }
}

 

创建一个Form窗体

添加以下两个控件progressBar1和button1

private void Button1_Click(object sender,EventArgs e)

{
    //定义一个自己写的进度条
    MyProgressBar cp=new MyProgressBar();
    cp.Parent=progressBar1;
    cp.Location=new Point(0,0);
    cp.Minimum=0;//进度条显示的最小值
    cp.Maximum=100;//
    cp.Width=progressBar1.Width;
    cp.Height=progressBar1.Height;
    cp.BackColor=Color.Yellow;
    
    //定义一个Label显示原始色
    Label l=new Label();
    l.Parent=cp;
    l.BackColor=Color.Transparent;    
    l.TextAlign=System.Drawing.ContentAlignment.MiddleCenter;
    l.Width=cp.Width;
    l.Height=cp.Height;
    
    for(int i=0;i<100;i++)
    {
        Thread.Sleep(1000);
        cp.Value=i+1;
        Font font=new Font("宋体",
,(float)16,FontStyle.Regular);
        l.Text=i.ToString();
        Application.DoEvents();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值