赞
踩
在一个winform程序中可能会启动一个线程去对进行窗体变化
这就关系到跨线程调用资源的问题,
有两个解决办法:
第一个办法:
在构造函数里面添加(虽然简单,但是不安全,不推荐使用)
Control.CheckForIllegalCrossThreadCalls = false;
第二个方法,使用委托的方法
用到了两个lamda表达式。
Thread th = new Thread(() => {
while (true)
{
lab1.Invoke(new MethodInvoker(() => {
lab1.Text = DateTime.Now.ToString();
}));
}
});
th.IsBackground = true;
th.Start();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。