[問題] Timer使用上的問題

看板C_Sharp (C#)作者 (經濟不景氣,好景不常在)時間12年前 (2013/08/17 14:12), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/1
請問一下,我在Form中使用一個Timer來指定某個時間點要做某些事情 程式碼大致如下: DateTime NowTime = DateTime.Now; private void Form1_Load(object sender, EventArgs e) { System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); aTimer.Interval = 6000;//每分鐘執行一次 aTimer.Enabled = true; } private static void OnTimedEvent(object source, ElapsedEventArgs e) { if(NowTime ==下午 02:00) { ....做A件事情.... }else if(NowTime == 下午 03:00) { ......做B件事情.. }else if(NowTime == 下午 06:00) { ......做C件事情.. } } 請問一下,我在下午2點的時候,Timer觸發去做A件事情.. 結果,到下午3點的時候,A件事情尚未處理完.. 那麼Timer還會觸發去做B件事情嗎??? 麻煩前輩指點一些,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.195.224

08/17 14:30, , 1F
不會
08/17 14:30, 1F

08/18 16:38, , 2F
實際上A尚未處理完之前該程式不會做其他任何事情,try it
08/18 16:38, 2F

08/18 16:39, , 3F
08/18 16:39, 3F

08/19 00:44, , 4F
A沒處理完UI就當了
08/19 00:44, 4F

08/19 21:40, , 5F
那如果我要確保不管A是否有沒有完成,B也要可以做..
08/19 21:40, 5F

08/19 21:41, , 6F
有甚麼方式??再用另一個Timer??
08/19 21:41, 6F

08/25 01:33, , 7F
你現在的程式是單一執行序 要達到你說的那樣就搞threading
08/25 01:33, 7F
文章代碼(AID): #1I3nGsH7 (C_Sharp)
文章代碼(AID): #1I3nGsH7 (C_Sharp)