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



我对基于 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);
}

现在我的问题是我需要从线程更新Myform中的TextBox。任何人都可以告诉我如何在 cli 中做到这一点吗?

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

最新更新