如果我的问题过于全面,我深表歉意:
我有使用 Visual c++ 和 Qt 的经验,我知道如何在这些环境中做到这一点,但为了团队的利益,我需要制作一个 CLR 应用程序。
我有一个 CLR 应用程序,如下所示:
带有标签元素的 CLR 应用程序。(由于新帐户无法发布图像)。
我的要求:
- 我想创建一个线程来更改“此处的状态”标签以显示一个简单的数据字符串。
- 原因是:我有另一个基于 c++ 的客户端应用程序,它通过命名管道将数据发送到该应用程序。
- 我的目标是为这个 GUI 表单创建一个单独的线程,它会阻塞连接并从客户端读取数据,并在这个表单中以表格形式显示数据。
- 我想做的是知道在从管道接收数据后如何修改表单中的项目
我应该使用什么样的线程,我应该使用 CLR 线程池还是使用 System::Threading 创建线程如下:
ThreadStart^ pTOperation = gcnew ThreadStart(startPipe); Thread^ pipeThread = gcnew Thread(pTOperation); pipeThread->Start();
我的 startPipe 操作将执行创建服务器管道、与客户端连接、读取和修改 GUI 元素的功能。CLR 是否像 Qt 那样对从另一个线程修改主表单元素有限制。(我必须为此实现一个信号/插槽系统)。
我的想法:我可以将一个参数传递给作为表单标签指针的线程函数并更改它在线程函数内的属性吗?