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
}
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
}

浙公网安备 33010602011771号