我目前正在建設一個Windows窗體應用程序,我已經拿到了下一個問題, 因爲語法即時通訊使用不會讓我做,我不能聲明一個變量全球性的,另外,我需要聲明的變量它自己的方法,最後,它必須循環,以便它能夠計數。這是我到目前爲止:我該如何解決這個循環?
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int i;
m_bIsTimerOn = true;
while (m_bIsTimerOn)
{
i++;
label1->Text = (i.ToString());
}
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
m_bIsTimerOn = false;
timer1->Enabled = false;
}
m_bIsTimerOn是一個全局布爾值。正如你可能在這裏看到的,我的問題是如果我按下按鈕1,程序就停留在while循環中。我想知道,當你按下button2 while循環時,我也想知道這是否可能。如果你可以在C++中迴應,那也可以。
預先感謝您。
我不能用我喜歡這樣,因爲我使用的語法不會允許我使用它這樣。我提供的代碼只是一個示例。我需要用與它相同的方法制作。 – Thealon
@Thealon我添加了最後一段(和第二個解決方案),但讓我說「我正在使用的語法」是非常好奇的句子。 UI是單線程的,然後保持緊密的循環運行,而用戶仍然可以調用其他方法是一個壞主意。也許你最好發佈一些更類似於你真正使用的代碼:設計上的一些改變會使它更好(讀作:如果你的循環執行的東西多於它應該移動到**單獨的線程* *正確同步)。 –
我添加的語法,我認爲它不會幫你 – Thealon