簡體   English   中英

需要循環暫停以允許用戶按c#中的按鈕

[英]Need While Loop to pause to allow user to press a button in c#

我需要幫助阻止這個循環不斷循環,我需要它給用戶時間選擇它打開的新形式的東西,但目前它只是打開它們的整個負載,並沒有停止。

while (Convert.ToInt32(PlayerHP[PlayerNo]) > 0 && Convert.ToInt32(PlayerHP[PlayerNo+1]) > 0){
    ChooseAttack();
    PlayerHP[PlayerNo+1] = (Convert.ToInt32(PlayerHP[PlayerNo+1]) - Damage()).ToString();
    lblHPP1.Text = PlayerHP[0];
    lblHPP2.Text = PlayerHP[1];
    PlayerNo = ((PlayerNo+1)%2);
    Application.DoEvents();
}

我一直在試驗“Application.DoEvents()”行,但無論我把它放在哪里都沒有做任何事情。

我沒有在任何地方看到任何形式,但期望在ChooseAttack();中的某個地方ChooseAttack(); 打電話給你有一些看起來像這樣的代碼:

frmChoose.Show();

您需要做的就是將其更改為:

frmChoose.ShowDialog();

我會將循環推送到計時器線程,以便您可以在外部控制“循環”。 循環運行的速度將是計時器的超時時間。

為了更清楚,你將不再有'while'語句,更多的是在計時器的回調方法的頂部檢查你的條件。 它的實際循環部分將由反復執行的定時器來處理。

根據您選擇的計時器,當您單擊表單上的按鈕時,您只需說Timer.Enabled = false; 或類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM