其他人也有類似的問題,但他們實際上沒有得到一個有效的答案。我可以通過創建一個布爾值並將其設置爲false(一旦進入if語句)來獲得此工作。在使用該方法之前,我已經完成了它,但是,我想知道是否有更清晰的方法。C#消息框反覆出現在定時器中
問題:爲什麼當我用一個簡單的okay按鈕在計時器中使用消息框時,有人必須點擊好的;否則你每秒都會收到同樣的信息?在下面的代碼中;它會每秒彈出一次,因爲這是計時器設置要做的事情(按一秒鐘),但它應該只顯示一次,當計時器像下面的代碼那樣擊中10時,但計時器仍應該「滴答」因爲它顯示在標籤中。
之前有人把我撕成碎片,因爲我注意到人們喜歡在這裏做某些事情;我的邏輯說,自秒= 10,它應該顯示一次。當秒數= 11時,沒有意義,它會顯示一個額外的盒子,因爲它不是11。我想知道是什麼原因造成的?
private void randomtimer_Tick(object sender, EventArgs e)
{
if (seconds == 10)
{
MessageBox.Show(this,"Why does this message display every one second over and over until someone clicks close or okay?");
}
seconds++;
if (seconds >= 60)
{
seconds = 0;
minutes = minutes + 1;
}
if (minutes >= 60)
{
minutes = 0;
hours = hours + 1;
}
string niceTime = string.Format("{0:D2}h:{1:D2}m:{2:D2}s", hours, minutes, seconds); //format the time so it displays nicely
label2.Text = "Session Length:\n" + niceTime;
}
那太簡單了,太尷尬了。 – slcboi
我不認爲你需要比我包括的任何更多的代碼:) – tcarvin
謝謝你的快速回答。那確實解決了它。直到我看完你所說的話之後,我纔想起它。 – slcboi