飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

C# ProgressBar用法:模拟进度条

Author:flymorn Source:flymorn
Categories:C#编程 PostTime:2011-4-7 4:40:04
正 文:
    C# ProgressBar用法:模拟进度条。

    在不考虑复杂情况下,我们可以采用不安全的线程调用,即允许子线程操作主线程里的控件状态,在初始化的时候后,加上这么一句:
Control.CheckForIllegalCrossThreadCalls = false;
//线程的不安全调用,允许线程直接调用主线程控件

    就OK了。

=======================================================
C# ProgressBar用法:模拟进度条

    如果采用安全的线程调用,则可以采用委托 invoke 方法。

        //模拟进度条
        private void Send()
        {
            int i = 0;
            while (i <= 100)
            {
                //显示进度信息
                this.ShowPro(i);
                i++; //模拟发送多少
                Thread.Sleep(100);
            }
            Thread.CurrentThread.Abort();
        }
        private delegate void ProgressBarShow(int i);
        private void ShowPro(int value)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new ProgressBarShow(ShowPro), value);
            }
            else
            {
                this.progressBar1.Value = value;
                this.label1.Text = value + "% Processing...";
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Thread thread = new Thread(new ThreadStart(Send)); //模拟进度条
            thread.IsBackground = true;
            thread.Start();  
        }

作者:flymorn
来源:flymorn
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:C#自动升级程序:WebClient下载+progressBar进度条
下一篇:Google的HTTPS服务为啥间歇式断网?!
0条评论 “C# ProgressBar用法:模拟进度条”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号