悟道人生

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

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
  68 随笔 :: 5 文章 :: 80 评论 :: 15万 阅读

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

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

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   凌风有约  阅读(1130)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示