利用CheckForIllegalCrossThreadCalls=false设置跨线程访问
2015-06-01 22:25
344 查看
在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为 false。具体如下:
在该应用中,一个窗口中有一个按钮,一个label,通过点击按钮,使label从0显示到100。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Threading; using System.Text; using System.Windows.Forms; namespace thread1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } private Thread threada; private void button1_Click(object sender, EventArgs e) { threada = new Thread(new ThreadStart(runner)); threada.Start(); } private void runner() { for (int i = 0; i < 101; i++) { label1.Text = i.ToString(); Thread.Sleep(500); } } private void Form1_Load(object sender, EventArgs e) { label1.Text = "0"; } private void Form1_FormClosing(object sender, EventArgs e) { if (threada.IsAlive) threada.Abort(); } } }
在该应用中,一个窗口中有一个按钮,一个label,通过点击按钮,使label从0显示到100。
相关文章推荐
- C/C++连接MySql数据库
- Ubuntu下编译LLVM
- 利用RPC实现远程计算服务(以加减乘除为例)
- #102 Binary Tree Level Order Traversal & #107 Binary Tree Level Order Traversal II
- Oracle异常恢复前备份保护现场建议—FileSystem环境
- js获取css值的方法:style、getComputedStyle和currentStyle
- ios中的coredata的使用
- 华为OJ之初级篇Ⅳ
- android listview & toolbar形成的一种炫酷效果(外加一个圆形图片的实现)
- TINY框架:组件化的J2EE开发框架
- linux关机重启命令浅析
- (转)回调函数
- 新人一枚(spring mvc)
- python的多进程编程(2)
- 判断IOS判断以便进行适配
- PHP各种设计模式代码示例
- 创建三角类
- Oracle异常恢复前备份保护现场建议—ASM环境
- 黑马程序员---切割文件
- CSS 选择器