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


new Thread(() =>
{

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

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

想要在线程内修改属性:

this.Invoke(new ThreadStart(delegate()
{

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

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

原文地址:https://www.cnblogs.com/janeaiai/p/7345755.html