1. 程式人生 > 其它 >winfrom後臺怎麼寫定時器?

winfrom後臺怎麼寫定時器?

winfrom後臺怎麼寫定時器?

例子:

        private void label5_Click(object sender, EventArgs e)
        {
            string time = DateTime.Now.ToString();
            this.label5.Text = time;
        }

        private void button8_Click(object sender, EventArgs e)
        {
            Timer timer = new Timer();
            timer.Interval 
= 1000;//定時1000毫秒(一秒) timer.Elapsed += label5_Click; timer.Start();//啟動定時任務 //停止定時任務 //timer.stop(); //載入時 取消跨執行緒檢查,防止報錯() Control.CheckForIllegalCrossThreadCalls = false; }

這裡Control.CheckForIllegalCrossThreadCalls = false;是防止報(System.InvalidOperationException:“執行緒間操作無效: 從不是建立控制元件“label1”的執行緒訪問它。”)的錯誤。

非同步執行也可以

例子:

        private void button10_Click(object sender, EventArgs e)
        {
            System.Timers.Timer timer = new Timer();
            timer.Interval = 1000;
            timer.Elapsed += label6_Click;
            timer.Start();
        }

        private void label6_Click(object sender, EventArgs e)
        {
            label6.BeginInvoke(
new Action(() => { label6.Text = DateTime.Now.ToString("yyyy/HH/dd HH:mm:ss"); })); }

其實winfrom有自帶的“timer”。

在設定執行時間間隔

            timer1.Interval = 1000;

在timer1.Tick+=寫完後兩下tab鍵自動生成委託事件

之後你就可以在委託時間裡寫你想寫的方法了。