C#thread线程传参数更新UI的文本框

news/2024/9/23 1:43:20/

C#线程的用法有几个不同的地方:

1、怎么启动线程?

2、是不是需要传入参数?

3、是不是要调用到UI中的控件,并对其进行更新?

关于启动线程,这里一个示例是在form中启动:

定义一个private:static Form1^ instance;变量
并在构造函数中赋值为this:
Form1(void)
{instance = this;InitializeComponent();
}

假如有参数传入线程,使用下面这样的方法:

private: System::Void BTN_Config_Click(System::Object^ sender, System::EventArgs^ e)
{
。。。Thread^ formThread = gcnew Thread(gcnew System::Threading::ParameterizedThreadStart(instance, &Form1::myUARTThread));formThread->Start(20);
。。。
}

如果传入的参数需要更新到窗体的控件中,则需要使用delegate的方法,如下:

	delegate void myUARTThreadDelegate(Object^ obj);private: void myUARTThread(Object^ obj){ISynchronizeInvoke^ i = this;if (i->InvokeRequired){myUARTThreadDelegate^ tempDelegate = 	gcnew myUARTThreadDelegate(this, &Form1::myUARTThread);cli::array<System::Object^>^ args = gcnew cli::array<System::Object^>(1);args[0] = obj;i->BeginInvoke(tempDelegate, args);return;}this->textBox_Receiver->Text = obj->ToString();}

最后需要注意的是myUARTThreadDelegate(Object^ obj);参数用的时Object^,不能直接用count等。


http://www.ppmy.cn/news/1462187.html

相关文章

信息泄露--注意点点

目录 明确目标: 信息泄露: 版本软件 敏感文件 配置错误 url基于文件: url基于路由: 状态码: http头信息泄露 报错信息泄露 页面信息泄露 robots.txt敏感信息泄露 .get文件泄露 --判断: 搜索引擎收录泄露 BP: 爆破: 明确目标: 失能 读取 写入 执行 信息泄…

AI大模型日报#0523:中国大模型价格战的真相、大模型「上车」、王小川首款 AI 应用

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE 4.0&#xff09;、“零一万物”&#xff08;Yi-Large&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xf…

elasticsearch如何定位红色或黄色的索引

文章目录 集群健康状态的解读如何定位黄色的索引确定我们所能知道的主要问题确定哪些索引有问题&#xff0c;多少索引有问题查看有问题的分片及其原因进一步定位未分配的原因对症下药&#xff0c;解决问题 如何定位红色的索引模拟场景使集群变红色定位是哪个索引、哪个分片解决…

Web测试中的BUG定位与分析

在Web测试过程中&#xff0c;页面内容或数据显示错误、不显示等问题是常见的挑战。为了高效地定位并解决这些问题&#xff0c;我们可以利用浏览器自带的开发者工具、数据库等工具进行排查和分析定位BUG。 一、发现BUG 保存现场并复现&#xff1a;遇到问题时&#xff0c;首先截…

Linux下的Rsync简介

Linux的rsync服务 rsync 是一个用于文件和目录同步的工具&#xff0c;广泛应用于Linux系统。它的主要功能包括本地和远程文件的同步、数据备份和镜像。rsync 在同步过程中只传输差异部分&#xff0c;从而大大提高了效率。 功能 文件和目录同步&#xff1a;将文件和目录从一个…

苹果MacOS系统使用微软远程桌面连接Windows电脑桌面详细步骤

文章目录 前言1. 测试本地局域网内远程控制1.1 Windows打开远程桌面1.2 局域网远程控制windows 2. 测试Mac公网远程控制windows2.1 在windows电脑上安装cpolar2.2 Mac公网远程windows 3. 配置公网固定TCP地址 前言 日常工作生活中&#xff0c;有时候会涉及到不同设备不同操作系…

鸿蒙HarmonyOS Next应用开发需要学什么语言

鸿蒙HarmonyOS Next应用开发需要学什么语言&#xff1f; 鸿蒙HarmonyOS Next作为华为自主研发的操作系统&#xff0c;其在应用开发方面有着独特的需求和优势。对于想要从事鸿蒙应用开发的开发者来说&#xff0c;掌握合适的编程语言是至关重要的。本文将详细探讨鸿蒙HarmonyOS N…

8.Docker微服务实战

文章目录 1、创建微服务2、通过Dockerfile发布微服务 1、创建微服务 创建空项目并在其中创建一个Module ​ 这里使用start.aliyun.com代替start.spring.io,这样可以使用jdk8。 选择需要的配置或者直接在pom文件中手动添加 <?xml version"1.0" encoding"…