• .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没看懂。还是尽量少用这个。

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

  • 相关阅读:
    python模块之subprocess
    Linux系统中如何升级pip
    如何发布自己用python写的py模块
    Win10系统如何分区
    Win10修改编辑文件无法保存怎么办(没有权限)
    robotframework利用selenium2Library实现无界面自动化关键字
    jmeter学习之安装篇(一)
    javascript——this关键字
    Ajax——请求
    AJAX学习——什么是AJAX
  • 原文地址:https://www.cnblogs.com/configman/p/4657547.html
Copyright © 2020-2023  润新知