[.NET] 請教高手 .net Timer 的問題

看板Visual_Basic作者 (批踢踢特偵組)時間13年前 (2012/06/05 18:59), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
例如 Timer 的 interval 設定成 5000 執行後 會先等5000毫秒完才做Timer裏頭的事情 有什麼辦法才能變成先做,再等5000毫秒 我目前的想法是把 Timer 裏頭的東西先挪出來變成一個 sub 啟動Timer前先去 call 該 sub ,可是這樣做蠻不直覺的 請教各位前輩 m(_ _)m 這問題困擾我好久了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.156.225 ※ 編輯: ho2002 來自: 59.121.156.225 (06/05 19:00)

06/05 19:07, , 1F
你的方法正確,沒什麼不直覺的。
06/05 19:07, 1F

06/05 20:36, , 2F
試試這方法: http://ideone.com/UvBJR P.S. vb.net 2010
06/05 20:36, 2F
好像有點複雜耶 *_*

06/06 03:14, , 3F
你的方法OK阿
06/06 03:14, 3F

06/06 06:51, , 4F
直接call timer的事件sub就好了啊
06/06 06:51, 4F
對,我原先也是這種做法,但非常奇怪的是 假設我的 Timer interval 為 5000 毫秒 我先 Call Timer(Nothing,Nothing) //先做Timer的事情 然後再 Timer.Enabled = True //啟動 執行會變成... [Timer],延遲5000毫秒,[Timer]、[Timer]、[Timer]、[Timer].........loop ^ ^^^^^^^^^^^^ call 問題在此...為何還是有延遲

06/07 12:55, , 5F
是你call事件的位置放錯地方 而被一直重複執行了吧
06/07 12:55, 5F
我的問題是為什麼先使用call sub之後 還是會有5000毫秒延遲 ※ 編輯: ho2002 來自: 59.121.156.225 (06/07 13:58)

06/07 16:45, , 6F
你等於手動觸發一次timer tick事件
06/07 16:45, 6F

06/07 16:45, , 7F
(好像沒這個名稱的事件;反正就是時間到的那個事件)
06/07 16:45, 7F

06/07 16:46, , 8F
還是執行到constructor...越看越奇怪
06/07 16:46, 8F
文章代碼(AID): #1FpUQfc8 (Visual_Basic)