타이머가 초 (10, 20 또는 30)에 도달하면 메시지 상자가 나타납니다. 이것은 작동하지만 단지 1 개의 메시지 상자 대신 9가 나타납니다! 왜 그런지 몰라?1 회만 원할 때 9 개의 메시지 상자가 열립니다.
private void timer1_Tick(object sender, EventArgs e)
{
int hrs = sw.Elapsed.Hours, mins = sw.Elapsed.Minutes, secs = sw.Elapsed.Seconds;
label5.Text = "";
if (mins < 60)
label5.Text += "0" + mins + ":";
else
label5.Text += mins + ":";
if(secs < 60)
label5.Text += secs;
else if(secs < 60)
label5.Text += secs;
if (comboBox1.Text == "10 seconden") // maximale tijd per beurt instellen.
if (mins == 00 && secs == 10)
MessageBox.Show("Je tijd is op!");
if (comboBox1.Text == "20 seconden")
if (mins == 00 && secs == 20)
MessageBox.Show("Je tijd is op");
if (comboBox1.Text == "30 seconden")
if (mins == 00 && secs == 30)
MessageBox.Show("Je tijd is op");
여러 개의 이벤트 구독이있는 것으로 의심됩니다. 타이머를 만들거나 구독하는 코드를 게시하십시오. 사이드 노트 : 여기에 코드를 복제하는 것이 더 간단합니다. –
문제는 이미 해결되었습니다. :) 타이머 간격 양식을 100에서 1000으로 변경해야했습니다. –
간격을 변경하면 동작이 변경되는 이유는 무엇입니까? –