以下是關於利用線程來定時執行的初步模型 using System; using System.Data; using System.Threading; using System.Windows.Forms; namespace Win { ///每隔30分鐘運行一次 /// </summary> public class Timer { public bool bRun; public int iCount=10; public Timer() { bRun = false; //只用於拋出線程 Thread myThread = new Thread(new ThreadStart(RunTimer)); myThread.Start(); } /// 檢測時間與等待時間 /// </summary> private void RunTimer() { int curM = Int32.Parse(DateTime.Now.Minute.ToString()); if((curM==0 || curM==30) && !bRun) { bRun = true; Thread thread = new Thread(new ThreadStart(RunMethod)); thread.Start(); } else { if(curM>30) curM = 60-curM; else curM = 30-curM; MessageBox.Show(curM.ToString()); Thread.Sleep(curM*60*1000); RunTimer(); } } /// 定時執行的方法 /// </summary> private void RunMethod() { int iRun = 0; try { MessageBox.Show(DateTime.Now.ToString()); bRun = false; RunTimer(); } catch { if(iRun<iCount) RunMethod(); else MessageBox.Show("系統執行問題"); } finally { iRun++; } } } } 相关文章: 2021-12-02 2021-08-12 2021-08-13 2021-10-26 2022-12-23 2021-12-04 2021-07-09