首页 > 其他 > 详细

BackgroundWorker 组件 -- 进度条

时间:2018-08-29 16:35:06      阅读:196      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

代码:

技术分享图片
 BackgroundWorker bw = new BackgroundWorker();
        public MainWindow()
        {
            InitializeComponent();
            
            bw.WorkerReportsProgress = true;
            bw.WorkerSupportsCancellation = true;
            bw.DoWork += bw_DoWork;
            bw.ProgressChanged += bw_ProgressChanged;
            bw.RunWorkerCompleted += bw_RunWorkerCompleted;
            
            
        }

        void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            this.txtMsg.Text = "下载完成";
        }

        void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            this.mySlider.Value = (double)e.ProgressPercentage / 10;
            this.txtMsg.Text = ((double)e.ProgressPercentage / 10).ToString();
           
        }

        void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 1; i < 100; i++)
            {
                if (bw.CancellationPending == true)
                {
                    e.Cancel = true;
                    return;
                }

                bw.ReportProgress(i);
                Thread.Sleep(TimeSpan.FromSeconds(1));

            }

        }

        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            bw.RunWorkerAsync();
            
        }

        private void btnCancel_Click(object sender, RoutedEventArgs e)
        {
            bw.CancelAsync();
        }
View Code

 

BackgroundWorker 组件 -- 进度条

原文:https://www.cnblogs.com/sportdog/p/9555120.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!