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

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

  • 相关阅读:
    HDFS 常用命令
    CentOS6.5和RedHat6.5下以rpm方式安装mysql-5.6.20
    RedHat安装yum+配置国内yum源
    nginx 一般配置实例 静态页面
    PHP计划任务之关闭浏览器后仍然继续执行的函数 ignore_user_abort
    php函数——『解析 xml数据』
    基于php-fpm的配置详解[转载]
    解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
    nginx的优化
    Nginx fastcgi_param解释
  • 原文地址:https://www.cnblogs.com/configman/p/4657547.html
Copyright © 2020-2023  润新知