c# BackgroundWorker組件的作用
當(dāng)構(gòu)建一個(gè)圖形化的Windows Form桌面應(yīng)用程序并且需要執(zhí)行在應(yīng)用程序主UI線程之外的線程中長時(shí)間的任務(wù)時(shí),BackgroundWorker類就很有用了。
要使用BackgroundWorker,我們只需要告訴它希望在后臺執(zhí)行那個(gè)方法并且調(diào)用RunWorkerAsync()即可
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int a = int.Parse(textBox1.Text.Trim()); int b = int.Parse(textBox2.Text.Trim()); Add ad = new Add(a,b); backgroundWorker1.RunWorkerAsync(ad); } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { Add args=(Add)e.Argument; for (int i = 0; i < 11; i++) { Thread.Sleep(200); backgroundWorker1.ReportProgress(i*10); } e.Result = args.a + args.b; } private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { label1.Text = e.Result.ToString(); } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { progressBar1.Value = e.ProgressPercentage; } } public class Add { public int a; public int b; public Add(int a, int b) { this.a = a; this.b = b; } }
以上就是c# BackgroundWorker組件的作用的詳細(xì)內(nèi)容,更多關(guān)于c# BackgroundWorker組件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#中使用Override和New關(guān)鍵字進(jìn)行版本控制
在?C#?中,override?和?new?關(guān)鍵字用于控制類之間的成員方法的隱藏和重寫,理解它們之間的差異和使用場景對于設(shè)計(jì)靈活且易于維護(hù)的代碼至關(guān)重要,在這篇博客中,我們將詳細(xì)探討這兩個(gè)關(guān)鍵字的用法,并通過示例來說明它們的實(shí)際應(yīng)用,需要的朋友可以參考下2024-10-10c#打印預(yù)覽控件中實(shí)現(xiàn)用鼠標(biāo)移動頁面功能代碼分享
項(xiàng)目中需要實(shí)現(xiàn)以下功能:打印預(yù)覽控件中,可以用鼠標(biāo)拖動頁面,以查看超出顯示范圍之外的部分內(nèi)容,下面就是實(shí)現(xiàn)代碼2013-12-12C# Access數(shù)據(jù)庫增刪查改的簡單方法
這篇文章主要介紹了C# Access數(shù)據(jù)庫增刪查改的簡單方法,有需要的朋友可以參考一下2014-01-01