在线程内不能修改属性异常解决办法


new Thread(() =>
{

posBillTopControlView1.btnSync.Enabled = true;
}).Start();

 

这个线程不是btnSync创建的,所以不能修改btnSync的属性

想要在线程内修改属性:

this.Invoke(new ThreadStart(delegate()
{

posBillTopControlView1.btnSync.Enabled = true;
}));

 

 

 

 

子线程不可以直接操作主线程里的控件,为了线程安全的问题,使用INVOKE或BEGININVOKE可以操控的,但是其实不是子线程直接操控,相当于把操控控件的函数地址委托给主线程,让主线程来执行。。。

posted @ 2017-08-11 14:25  JaneAi  阅读(261)  评论(0编辑  收藏  举报