C#跨线程访问控件

 private delegate void setTextValueCallBack(int value);
 2         //声明回调
 3         private setTextValueCallBack setCallBack;
 4         private void myBtn_Click(object sender, EventArgs e)
 5         {
 6             //实例化回调
 7             setCallBack = new setTextValueCallBack(SetValue);
 8             //创建一个线程去执行这个方法:创建的线程默认是前台线程
 9             Thread thread = new Thread(Test);
10             //将线程设置为后台线程
11             thread.IsBackground = true;
12             thread.Start();
13         }
14 
15         private void Test()
16         {
17             for (int i = 0; i < 10000; i++)
18             {
19                 //使用回调
20                 this.myTxtBox.Invoke(setCallBack, i);
21             }
22         }
23 
24         /// <summary>
25         /// 定义回调使用的方法
26         /// </summary>
27         /// <param name="value"></param>
28         private void SetValue(int value)
29         {
30             this.myTxtBox.Text = value.ToString();
31         }

猜你喜欢

转载自blog.csdn.net/qq_39556476/article/details/84172194