zoukankan      html  css  js  c++  java
  • 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键自动生成委托事件

     

     之后你就可以在委托时间里写你想写的方法了。

  • 相关阅读:
    趣图:程序员告诉你为什么充钱后速度更快
    金三银四铜五铁六,面试得做好这个准备
    Java中如何模拟真正的同时并发请求?
    趣图:程序员最头疼的原因
    Java并发面试题
    linux内存分配与回收
    7.3 Set集合
    7.2 Java 11新增的Collection和Iterator接口
    7.1 Java集合概念
    6.5 正则表达式
  • 原文地址:https://www.cnblogs.com/mvpbest/p/15057083.html
Copyright © 2011-2022 走看看