System.Windows.Forms.Timer[C#]

来源:互联网 发布:php开源crm统 编辑:程序博客网 时间:2024/05/16 18:59
public class Class1 {    static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();    static int alarmCounter = 1;    static bool exitFlag = false;    // This is the method to run when the timer is raised.    private static void TimerEventProcessor(Object myObject,                                            EventArgs myEventArgs) {       myTimer.Stop();       // Displays a message box asking whether to continue running the timer.       if(MessageBox.Show("Continue running?", "Count is: " + alarmCounter,           MessageBoxButtons.YesNo) == DialogResult.Yes) {          // Restarts the timer and increments the counter.          alarmCounter +=1;          myTimer.Enabled = true;       }       else {          // Stops the timer.          exitFlag = true;       }    }    public static int Main() {       /* Adds the event and the event handler for the method that will           process the timer event to the timer. */       myTimer.Tick += new EventHandler(TimerEventProcessor);       // Sets the timer interval to 5 seconds.       myTimer.Interval = 5000;       myTimer.Start();       // Runs the timer, and raises the event.       while(exitFlag == false) {          // Processes all the events in the queue.          Application.DoEvents();       }    return 0;    } }


注意,在定时器处理方法TimerEventProcessor中,先myTimer.Stop()停止定时器,事件处理完后,再重新启动定时器myTimer.Enabled = true。

这样,可以防止多个定时器事件的同时到来。


0 0
原创粉丝点击