参考地址: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发现通过上面的代码可以解决该问题。

posted on 2011-05-06 15:43  think8848  阅读(289)  评论(0编辑  收藏  举报