a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

c#異步操作后臺運行(backgroundworker類)示例

2020-01-24 02:43:24
字體:
來源:轉載
供稿:網友

c#異步操作,BackgroundWorker類的使用,可以在后臺運行需要的代碼邏輯。

復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace TestBackgroundWork
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
            InitializeBackgoundWorker();
        }


        private BackgroundWorker backgroundWorker1;

        private void InitializeBackgoundWorker()
        {
            this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
            this.backgroundWorker1.WorkerReportsProgress = true;
            this.backgroundWorker1.WorkerSupportsCancellation = true;
            this.backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
            this.backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
            this.backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
        }

        //**********backgroundWorker1的回調函數**********
        void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            for (int i = 1; i <= 10; i++)
            {
                if (worker.CancellationPending)
                {
                   e.Cancel = true;
                }
                else
                {
                    Thread.Sleep(500);
                    int percentComplete = (int)((float)i / (float)10 * 100);
                    worker.ReportProgress(percentComplete);
                }
            }
        }

        void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            this.progressBar1.Value = e.ProgressPercentage;
        }

        void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                MessageBox.Show(e.Error.Message);
            }
            else if (e.Cancelled)
            {
                resultLabel.Text = "Canceled";
            }
            else
            {
                resultLabel.Text = "Completed";
            }
            startBtn.Enabled = true;
            stopBtn.Enabled = false;
        }

        //**********backgroundWorker1的回調函數**********


        private void startBtn_Click(object sender, EventArgs e)
        {
            resultLabel.Text = String.Empty;
            this.startBtn.Enabled = false;
            this.stopBtn.Enabled = true;
            //啟動異步操作.
            backgroundWorker1.RunWorkerAsync();
        }

        private void stopBtn_Click(object sender, EventArgs e)
        {
            backgroundWorker1.CancelAsync();
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福利视频网站 | 夜夜天天操 | 99久热精品| 久久久天天 | 密色视频 | 久久99精品久久久久久国产越南 | 国产精品一区久久久久 | 狠狠的干 | 欧美日本国产欧美日本韩国99 | 91免费电影| 精品久久久国产 | 99精品免费 | 国产精品视频一区二区三区 | 亚洲欧美少妇 | 这里只有精品在线视频观看 | 91亚洲国产成人精品性色 | 国产高清在线观看 | 三级电影网址 | 欧美久久免费观看 | 久久久精品网 | 91在线视频福利 | 国产黄av| 在线国产一区 | www国产亚洲 | 免费一区二区三区 | 日韩国产欧美一区 | 在线播放一区二区三区 | 午夜激情综合 | 国产精品视频一区二区三区四蜜臂 | 97人人草 | 日本在线一区 | 99精品久久 | 欧美不卡视频 | 免费观看黄a一级视频 | 青青草视频在线观看 | 亚洲成人自拍 | 亚洲国产精品精华液com | 99re在线 | 久久精品一级 | 成人一区视频 | 欧美黑人一级爽快片淫片高清 |