我对基于 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::BeginInvoke
或Control::Invoke
,如@AlexF提到的那样。这里有一个来自 C# 的示例。