C#下实现在ProgressBar控件上添加百分比

        在利用C#编写Windows窗体程序的过程中,程序运行过程中界面如果没有一些提示总是感觉缺点儿什么,给用户的感觉不知道程序是否在运行,所以这是就想到了为程序添加进度条控件ProgressBar,但是进度条添加上以后,ProgressBar这个控件并没有为用户提供在其上添加显示进度百分比的属性,用户要想实现在精度条上显示百分比,就不是那么简单了,这里我把自己实现的过程写出来与大家共享。

        首先我想到的是在ProgressBar控件上添加一个Lable控件,但是执行效果总是那么不尽人意,因为使用Lable的话在进度跳上总是有一个白色的框框,看着不是很美观。想解决这个问题呢,就想到了把Lable的背景色设置为透明颜色,在网上看到说在Lable的属性中BackColor里可已将其设置为Web下的Transparent,即背景颜色为父窗体的颜色,但是这样一来Lable的背景色并不是透明的,只是变成了其所在父窗体的背景色,在运行过程中任然不是很美观。于是就将Lable的父窗体改为ProgressBar,代码如下

this.label1.Parent = this.progressBar1;

这样改了以后本来以为其背景色会跟进度条的颜色一样,结果仍然是悲剧,这样就放弃了这个思路。后来就开始在网上搜索,我感觉微软一定考虑到了这个问题,肯定会有解决办法的,上天不负有心人终于找到了一个函数来解决这个问题DrawString(),这个函数就是实现在进度条上添加文字的函数,废话不多说直接上代码

        public void SetProcessValue(string TitleName,int value)
        {
            this.Text = TitleName;            
            string str=value.ToString()+"%";
            Font font = new Font("Times New Roman", (float)11, FontStyle.Regular);
            PointF pt = new PointF(this.progressBar1.Width / 2 - 10, this.progressBar1.Height / 2 - 10);
            this.progressBar1.CreateGraphics().DrawString(str, font, Brushes.Black, pt);
            this.progressBar1.Value = value;
        }

这样在需要调用进度条的函数处实例化进度条对话框的一个对象,然后调用这个函数便实现了在进度条上添加百分比的功能。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值