惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
量子位
N
Netflix TechBlog - Medium
博客园 - 聂微东
博客园 - Franky
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC

博客园 - !LEO

采用WF实现审批备案的流程定义 Inside Microsoft Windows SharePoint Services 3.0 Saas安全性问题讨论 NHibernate事务中执行SQL Winform+WebService分层模型 Winform+WebService离线处理 C#读取Word表格中的数据 在多个方法中共享database object的方式 Reporting Service 初体验 解决vs2005 安装项目不支持中文的问题 Mutex类解决进程线程互斥问题 Javascript调用C#静态函数 javascript:URL编解码和父子窗口交互 VisualStudio2005应用CSS和JavaScrpt的问题 两款oralce开发工具 NBear 不错 今日测试总结 SSIS计算行号 一起学习SSIS
使用BackgroundWorker控件进行异步处理
!LEO · 2008-02-14 · via 博客园 - !LEO

BackgroundWorker是vs2005自带的,以下代码实现异步修改TextBox的Text

 1 private void button2_Click(object sender, EventArgs e)
 2        {
 3            this.textBox1.Text = "start";
 4
 5            this.backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
 6            this.backgroundWorker1.RunWorkerAsync();            
 7        }
      
 8
 9        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
10        {
11            for (int i = 0; i < 3; i++)
12            {
13                for (int j = 0; j < 100000000; j++)
14                {
15                    j++;
16                    j--;
17                }

18                this.textBox1.Text = i.ToString();
19            }

20        }

21
22        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
23        {
24            this.textBox1.Text = "complete";
25        }