[問題] 關於Timer控制項
我寫了一個測試Timer功能用的程式
namespace Timertest
{
public partial class Form1 : Form
{
bool flag = false;
int displayNumber=1,i;
public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (flag == true)
{
label1.Text = Convert.ToString(displayNumber);
flag = false;
i++;
displayNumber++;
}
}
private void button1_Click(object sender, EventArgs e)
{
for (i = 0; i <= 1000; i++)
{
if (i % 50 == 0)
{
i--;
flag = true;
}
}
}
}
}
這個程式主要有兩個部分:button和timer
預期效果是
當按下button之後for迴圈會開始跑
然後在i是50的倍數時因為i--的關係先停下來
並且把flag變成true
timer因為偵測到flag變成true了
將顯示出來的數字+1後,將i+1以讓button那邊的迴圈能繼續跑
但是執行後卻發現i為50的倍數時就陷入無限迴圈
timer那邊沒有將label印出來
trace timer那邊的code也沒有看到button那邊的程式將flag變成true的跡象
請問一下為什麼會這樣呢?
感謝各位的回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.199.183.252
推
08/04 13:02, , 1F
08/04 13:02, 1F
→
08/04 13:08, , 2F
08/04 13:08, 2F
→
08/04 13:48, , 3F
08/04 13:48, 3F
→
08/04 13:52, , 4F
08/04 13:52, 4F
→
08/04 14:35, , 5F
08/04 14:35, 5F
→
08/04 14:35, , 6F
08/04 14:35, 6F
→
08/04 14:39, , 7F
08/04 14:39, 7F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章