我有一個按鈕,可以激活計時器一次。我想隱藏我的表單,暫停表單 5.5 秒,然后再次顯示。我注意到,如果我啟動應(yīng)用程序后第一次按下按鈕,Thread.Sleep 為 5.5 秒,但如果我再次按下它,它會休眠 11 秒。當(dāng)我第三次按下它后,它會休眠 16 秒,依此類推......這對我來說真的很奇怪,我不知道為什么會這樣。有人有主意嗎?注意:我的應(yīng)用程序迫切需要 Thread.Sleep。 using System.Threading; private void Btn_Abwesend_Click(object sender, EventArgs e) { timer.Tick += timer1_Tick_1; timer.Interval = 100; timer.Start(); } private void timer1_Tick_1(object sender, EventArgs e) { this.Hide(); Thread.Sleep(5500); this.Show(); timer.Stop(); }
2 回答

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊
疊加的是委托訂閱,即這個
timer.Tick += timer1_Tick_1;
每次執(zhí)行此操作時,它都會添加一個處理程序。事實上,每次添加相同的目標(biāo)實例/方法并不重要:它將被調(diào)用多次?;旧现蛔鲆淮巍?/p>

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊
您不會Timer.Tick
在任何地方取消訂閱事件,因此每次在此行中添加其他處理程序時都按按鈕timer.Tick += timer1_Tick_1;
。timer.Tick -= timer1_Tick_1;
您應(yīng)該在代碼中的某個地方使用
- 2 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報
0/150
提交
取消