当前位置: 首页 > news >正文

C# InvokeRequired线程安全

C# InvokeRequired线程安全

为了保证新家的线程可能要对主界面的控件元素的属性发生一些改变,此时防止此操作对于主线程的影响,就提出了 InvokeRequired方法,保证主线程的安全,同时新加的线程也可以改变主页面中元素的值。

定义一个方法来使用:

public static void InvokeIfRequired<T>(this T control, Action<T> action) where T : ISynchronizeInvoke
{if (control.InvokeRequired){control.BeginInvoke(new Action(() => action(control)), null);}else{action(control);}
}

使用方法:

                    this.TextBox1.InvokeIfRequired(rsb =>{rsb.Text = str1; });

其中的TextBox1就是我们所使用的其中一个控件,通过新增的线程对他操作;

如果有更好的办法,欢迎同道中人可以相互交流

http://www.lryc.cn/news/187784.html

相关文章:

  • pdf怎么转成jpg图片格式
  • React +ts + babel+webpack
  • 红队专题-REVERSE二进制逆向反编译
  • Spring技术原理之Bean生命周期原理解析
  • Unity实现设计模式——模板方法模式
  • C++实现高性能内存池(二)
  • 沪深300期权一个点多少钱?
  • 怎么防止重要文件夹丢失?文件夹安全如何保护?
  • 用于物体识别和跟踪的下游任务自监督学习-1-引言
  • 式子表达ds类——多用位置/值域表示未知数+区间覆盖转区间加:CF407E
  • Python 实现秒表功能(比较好玩的题目)
  • DALL-E 3调参教程;百度新出的AI写小说神器;通义听悟看播客也太爽了;系列博文带你理解生成式AI | ShowMeAI日报
  • 设计模式-享元模式
  • 中秋时节赏明月,五子棋戏月饼趣 — Flutter中秋限定版五子棋
  • Scala第十九章节
  • kafka与hbase的区别
  • 出栈序列的合法性
  • unity操作_刚体 c#
  • 网络编程中套接字(socket)介绍(Python示例)
  • d3dcompiler_43.dll是什么文件?缺失d3dcompiler_43.dll文件修复与解决方法
  • YOLOv7改进:SPD-Conv,低分辨率图像和小物体涨点明显,涨点神器!!!
  • iris(golang)连接mysql数据库
  • C现代方法(第1、2章)笔记
  • 练[CISCN2019 华东南赛区]Double Secret
  • 『Linux - gcc / g++』c程序翻译过程
  • 苹果遭遇安全危机,应用商店曝出不良APP,或影响iPhone的销售
  • docker 基本操作
  • ARM:使用汇编完成三个灯流水亮灭
  • 嵌入式养成计划-33--数据库-sqlite3
  • 什么是大数据运维?大数据运维的职责