zoukankan      html  css  js  c++  java
  • .net中的3个Timer 分类: .NET 2014-05-12 03:45 347人阅读 评论(0) 收藏

    一、System.Timers.Timer并不是调用Start方法就执行,而是在过了设定的周期再调用Start才执行(System.Windows.Forms.Timer也一样)。
    获取或设置一个值,该值指示 Timer 是应在每次指定的间隔结束时引发 Elapsed 事件,还是仅在指定的间隔第一次结束后引发该事件。
    如果 Timer 应在每次间隔结束时引发 Elapsed 事件,则为 true;如果它仅在间隔第一次结束后引发一次 Elapsed 事件,则为 false。 默认值为 true。 

    using System.Timers;
    namespace ConsoleApplication1
    {
        class Program
        {
            static Timer t1 = new Timer(2000);
    
    
            static void t1_Elapsed(object sender, ElapsedEventArgs e)
            {
                Console.WriteLine("timer run...");
            }
            static void Main(string[] args)
            {
                t1.Elapsed += new ElapsedEventHandler(t1_Elapsed);
                t1.Start();
                Console.ReadLine();
            }
        }
    }


    二、System.Windows.Forms

    using System.Windows.Forms;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static Timer myTimer = new Timer();
            static bool exitFlag = false;
    
            static void Main(string[] args)
            {
                myTimer.Tick += new EventHandler(myTimer_Tick);
    
                myTimer.Interval = 5000;
                myTimer.Start();
    
                while (exitFlag == false)
                {
                    Application.DoEvents();//处理队列中的消息。不加这句,将不进入Timer的Tick事件
                }
            }
    
            static void myTimer_Tick(object sender, EventArgs e)
            {
                myTimer.Stop();
    
                if (MessageBox.Show("Continue running?", "友情提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    myTimer.Enabled = true;
                }
                else
                {
                    exitFlag = true;
                }
            }
        }
    }

    三、System.Threading.Timer

    这是个变态,MSDN上的demo没看懂。还是尽量少用这个。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Mac os下安装pycurl
    Mac os 10.9下面配置JAVA_HOME
    同步,异步,阻塞,非阻塞
    Python处理XML
    Apriori算法在购物篮分析中的运用
    Python抓取双色球数据
    为什么这么多Python框架
    Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
    ubuntu 开机自动挂载分区
    VIM 配置随手记
  • 原文地址:https://www.cnblogs.com/configman/p/4657547.html
Copyright © 2011-2022 走看看