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 }
C#跨线程访问控件
最新推荐文章于 2023-08-28 17:31:41 发布