悟道人生

渴望闲云野鹤的生活,面对自然,鸟鸣虫唱,星辰为伴,没有拘束,没有苦恼,有的只是神仙般的生活

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

在多线程操作界面控件或者组件的时候,经常会遇到一些问题。

我们在多线程操作控件的时候,一般都使用如下代码来操作。

delegate void MsgDel(string str);
protected void MsgEvent(string str)
{
          if (txtContent.InvokeRequired)
            {
                txtContent.BeginInvoke(new MsgDel(MsgEvent), str);
                return;
            }
        txtContent.Text=str;
}

但是Debug运行时,我仍然会遇到像如下问题“Cross-thread operation not valid: accessed from a thread other than the thread it was created on.”,不知道为什么,期待高手能够给予指点。

为了暂时解决这个问题,我暂时采用在主窗体添加下面代码的方式临时解决。

Control.CheckForIllegalCrossThreadCalls = false;  

posted on 2011-10-29 21:16  凌风有约  阅读(1125)  评论(0编辑  收藏  举报