[转]线程间操作无效: 从不是创建控件“ *** ”的线程访问它。

参考地址:http://stackoverflow.com/questions/142003/cross-thread-operation-not-valid-control-accessed-from-a-thread-other-than-the-t

解决方法:使用代理

            decimal lightHorizontalAngle = 0;

            if (this.cbLightHorizontalAngle.InvokeRequired)
            {
                this.cbLightHorizontalAngle.Invoke(new MethodInvoker(delegate { lightHorizontalAngle = decimal.Parse(this.cbLightHorizontalAngle.Text); }));
            }
            else
            {
                lightHorizontalAngle = decimal.Parse(this.cbLightHorizontalAngle.Text);
            }

我本来是在窗体中创建的子线程中获取cbLightHorizontalAngle的值,但是居然产生了如本文标题所示的异常,最终通过Google发现通过上面的代码可以解决该问题。

原文地址:https://www.cnblogs.com/think8848/p/2039024.html