从CLI中的线程(通过单击按钮创建)更新主GUI中的文本框

时间:2019-02-04 06:18:12

标签: c++-cli

我对基于c#的C ++ / CLI非常陌生。我有一个主要的GUI表单。

public ref class MyForm : public System::Windows::Forms::Form

在单击中的按钮时,我正在使用CreateThread创建线程。代码如下:

private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) 
{

HANDLE h1;

h1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)thread1,0, 0, &threadID1);

}

现在,我的问题是我需要从线程更新TextBox中的Myform。有人可以告诉我如何在cli中做吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,使用.NET Thread^是安全的。在您的thread1方法内部,使用Control::BeginInvokeControl::Invoke,如提到的@AlexF。 Here您有一个C#示例。