Visual c++ 如何在后台运行void函数

Visual c++ 如何在后台运行void函数,visual-c++,Visual C++,我已经创建了一个windows窗体应用程序(CLR项目)。单击“开始”按钮时,将运行带有while循环的void函数。但问题是windows窗体变得无响应(无响应)。我想做的是,当点击按钮时,我想在后台运行该函数,并使其停止,同时也能使用windows窗体。请帮忙 我的代码如下所示: bool isStarting = false; btnStart_Click(System::Object^ sender, System::EventArgs^ e){ if(isStarting){

我已经创建了一个windows窗体应用程序(CLR项目)。单击“开始”按钮时,将运行带有while循环的void函数。但问题是windows窗体变得无响应(无响应)。我想做的是,当点击按钮时,我想在后台运行该函数,并使其停止,同时也能使用windows窗体。请帮忙

我的代码如下所示:

bool isStarting = false;

btnStart_Click(System::Object^ sender, System::EventArgs^  e){
   if(isStarting){
      isStarting = false;
   }else{
      isStarting = true;
      runCode(param1, param2, param3);
   }
}

void runCode(param1, param2, param3){
   while(isStarting){
      //do something
   }
}

当程序陷入无限循环时,
不响应

在您的程序中,在
runCode
方法中使用了无限循环

当您使用
线程
进行
无限循环
或其他操作时,此问题将得到解决


所以我建议你使用
线程

请尝试使用
线程
。对不起,你能用线程编辑我的代码吗?我还是新的VisualC++,我已经搜索线程它真的让我困惑:D对不起