在C ++中“while循环”期间GUI冻结

时间:2016-04-03 16:31:03

标签: loops c++-cli freeze

我是一名刚开始学习C ++的学生。我之前学过Java,但我觉得它们之间存在(大的)差异。

这似乎是一个非常简单的问题,但我的母语不是英语,所以当我谷歌它时,我很困惑,我在这里搜索了很多天。

我想在单击“开始”按钮时运行循环,直到我单击“停止”,但单击“开始”时表单会冻结。我搜索了它,我猜我的代码有一个“无限循环”问题。但是,我想不出另一种方法来做到这一点......

以下是代码:

MyForm.h

Screenshot of the form

private: System::Void Start_Click(System::Object^  sender, System::EventArgs^  e) {
        WLOOP(1);
}
private: System::Void Stop_Click(System::Object^  sender, System::EventArgs^  e) {
        WLOOP(0);
}

MyForm.cpp

void WLOOP(int check) {
    while (check==1){ 
            bla bla bla
            sleep(500);
    } 
}

我真的不知道这里的所有规则,如果我做错了,请告诉我。我下次会做得更好。非常感谢你。

0 个答案:

没有答案