http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4626|回复: 3

[Winform] 进度条绘制百分比的问题!

[复制链接]
发表于 2014-11-18 09:10:17 | 显示全部楼层 |阅读模式

C# 绘制进度条

1. 用lable 显示,背景 颜色去不掉,
2. 用 GDI+ 绘制 但是 闪烁 很厉害!
请大家帮忙分析下,这种情况怎么解决!

代码 如下!

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;

        }

        private void button1_Click(object sender, EventArgs e)
        {


            Thread th = new Thread(PB1);
            th.IsBackground=true;
            th.Start();


       }




     void  PB1()
        {

            string strnumber;

            for (int i = 0; i <= 5000; i++)
            {
                Thread.Sleep(10);
            strnumber = ((i*100)/5000).ToString() + "%";
            //Bitmap bmp = new Bitmap(84, 28);

            Graphics g = progressBar1.CreateGraphics();

           g.DrawString(strnumber, new Font("宋体", 20, FontStyle.Bold), Brushes.Blue, new PointF(progressBar1.Width/2,progressBar1.Height/2-15));
           progressBar1.Value = i;

            //  pictureBox1.Image = bmp;

              label1.Text = ((i * 100) / 5000).ToString() + "%";
           }



            //string strnumber;

            //for (int i = 0; i <= 5000; i++)
            //{
            //    Thread.Sleep(10);
            //    strnumber = ((i * 100) / 5000).ToString() + "%";
            //    Bitmap bmp = new Bitmap(84, 28);

            //    Graphics g = Graphics.FromImage(bmp);

            //    g.DrawString(strnumber, new Font("宋体", 10, FontStyle.Bold), Brushes.Blue, new PointF(bmp.Width / 2, bmp.Height / 2 - 10));
            //    progressBar1.Value = i;

            //    pictureBox1.Image = bmp;

            //    label1.Text = ((i * 100) / 5000).ToString() + "%";
            //}



QQ截图20141118090447.jpg


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-11-18 09:12:27 | 显示全部楼层
闪烁的话用双缓冲,将label背景色设成透明
 楼主| 发表于 2014-11-18 09:33:45 | 显示全部楼层
请教 lable 背景怎么设置 透明呢?
还有双缓冲 是 何意?
能否 有代码 ,
谢谢!
发表于 2014-11-18 09:52:05 | 显示全部楼层
真是难得给力的帖子啊。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-31 03:46

© 2014-2021

快速回复 返回顶部 返回列表