C++ 如何用一個按鍵click中斷另一個按鍵click event中的while迴圈

請問有人有做個類似的應用嗎?

用一個button click 事件是停止運行中的另一個button click事件中的while 迴圈,

我的code如下, 目前只要button1 按下後運行事件中的while迴圈,別的按鍵就無作用,

若重覆按button 不管是button1或button2 會造成程式沒反應,當掉了..

在此Window CLR環境中要做這樣的運用有解法嗎?

還是Window CLR環境不適合這樣的應用呢?             


int loopindex = 1;
#pragma endregion
//======================================================================//
        private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                while (loopindex)
                {
                        label1->Text = "button1 Loop Count : "+LOOPCOUNT;
                        MyForm::Refresh();
                        Sleep(1000);
                        LOOPCOUNT += 1;
                        Beep(3000, 200);
                }
        }
        private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
                loopindex = 0;
                label1->Text = "button2 press;";
                Beep(4000, 100);
        }
//===============================================================

用线程,把while放在线程里,这样另一个按钮按下后可以至一个标志位true,while循环内检测这个标志位一旦为true则break。

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html