亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Thread.Sleep 會堆積?

為什么 Thread.Sleep 會堆積?

C#
三國紛爭 2023-08-20 15:30:51
我有一個按鈕,可以激活計時器一次。我想隱藏我的表單,暫停表單 5.5 秒,然后再次顯示。我注意到,如果我啟動應用程序后第一次按下按鈕,Thread.Sleep 為 5.5 秒,但如果我再次按下它,它會休眠 11 秒。當我第三次按下它后,它會休眠 16 秒,依此類推......這對我來說真的很奇怪,我不知道為什么會這樣。有人有主意嗎?注意:我的應用程序迫切需要 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函數

TA貢獻1836條經驗 獲得超4個贊

疊加的是委托訂閱,即這個

timer.Tick += timer1_Tick_1;

每次執行此操作時,它都會添加一個處理程序。事實上,每次添加相同的目標實例/方法并不重要:它將被調用多次?;旧现蛔鲆淮巍?/p>


查看完整回答
反對 回復 2023-08-20
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您不會Timer.Tick在任何地方取消訂閱事件,因此每次在此行中添加其他處理程序時都按按鈕timer.Tick += timer1_Tick_1;。timer.Tick -= timer1_Tick_1;您應該在代碼中的某個地方使用



查看完整回答
反對 回復 2023-08-20
  • 2 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號