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

C# 跨线程访问窗体控件

在不加任何修饰的情况下,C# 默认不允许跨线程访问控件,实际在项目开发过程中,经常使用跨线程操作控件属性,需要设置相关属性才能正确使用,两种方法设置如下:

方法1:告诉编译器取消跨线程访问检查,在窗体构造函数中编写,如下图所示:

方法2:设置所需的控件为跨线程访问即可

 this.textBox1.Invoke(new EventHandler(delegate  //访问主界面的控件{textBox1.Text = class1.MyProperty.ToString();}));

 示例代码如下:

   private void button1_Click(object sender, EventArgs e){Task.Run(() =>  //开启线程{Class1 class1 = new Class1();while (true){Thread.Sleep(100);class1.MyProperty = random.Next(210, 230);this.textBox1.Invoke(new EventHandler(delegate  //访问主界面的控件{textBox1.Text = class1.MyProperty.ToString();}));}});}

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

相关文章:

  • Ctenos7安装mysql-8.1.0/tomcat-9.0.80/LNMT部署
  • input时间表单默认样式修改(input[type=“date“])
  • 首页搜索框传递参数,并在搜索页面中的搜索框中进行显示,搜索框绑定回车键进行搜索
  • 【Vue3+Ts】项目启动准备和配置项目代码规范和css样式的重置
  • Java【手撕双指针】LeetCode 15. “三数之和“, 图文详解思路分析 + 代码
  • Flutter:自定义组件的上下左右弹出层
  • C++处理终端程序中断或意外退出的情况
  • 分布式锁:业务锁和定时任务锁
  • 路由器的简单概述(详细理解+实例精讲)
  • Mapper.xml文件解析
  • ES 7.6 - JAVA应用基础操作篇
  • com.squareup.okhttp3:okhttp 组件安全漏洞及健康度分析
  • 【Unity的HDRP渲染管线下用Steam VR串流结合使用遇到的各种问题_SteamVR 插件和Pico串流助手】
  • Unity——音乐、音效
  • Ubuntu 23.10 将首次推出基于 Flutter 的新 Ubuntu 商店
  • linux scatterlist阅读三
  • 2023新,centos7安装mysql8.0.25
  • Data Rescue Professional for Mac:专业的数据恢复工具
  • 新手小白想要做好跨境电商独立站,需要考虑哪些要素?
  • Consul原理介绍
  • 【C++实战】C++实现贪吃蛇(含源代码)—基于easyx图形库
  • PHP获取两个日期之间的所有日期
  • STL之stack(适配器讲解以及双端队列的讲解)
  • JVM解密: 解构类加载与GC垃圾回收机制
  • 【Spring Boot】Spring Boot结合MyBatis简单实现学生信息管理模块
  • 【Java List与Map】List<T> Map与Map List<T>的区别(126)
  • 【FreeRTOS】常用函数总结
  • The Cherno——OpenGL
  • linux中学习控制进程的要点
  • C++Qt QSS要注意的坑