由于一些 GUI 滞后(表单变得无响应)问题,我已经在新线程中启动了一个表单。该线程在调用函数 (some_function()) 时启动。如...
/*========some_function=========*/
void some_function()
{
System::Threading::Thread^ t1;
System::Threading::ThreadStart^ ts = gcnew System::Threading::ThreadStart(&ThreadProc);
t1 = gcnew System::Threading::Thread(ts);
t1->Start();
while(condition)
{
Form1^ f1=gcnew Form1();
//some coding
//to change the values of a different form (Form1)
}
}
/*======ThreadProc=========*/
void ThreadProc()
{
Form1^ f1=gcnew Form1();
f1->Show(); //OR Application::Run(Form1());
}
现在的问题是关于在“while”循环中更改表单(Form1)的值,例如标签文本、进度条等。是否有任何方法可以更改在不同线程中打开的表单值?