首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#中是否有不在Windows.Forms名称空间中的timer类?

C#中是否有不在Windows.Forms名称空间中的timer类?
EN

Stack Overflow用户
提问于 2008-10-03 23:38:20
回答 6查看 22.5K关注 0票数 18

我想在用C#编写的简单.NET应用程序中使用计时器。我唯一能找到的是Windows.Forms.Timer类。我不想只为我的控制台应用程序引用这个名称空间。

是否有用于控制台应用程序的C# timer (或类似timer )类?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-03 23:39:02

票数 29
EN

Stack Overflow用户

发布于 2008-10-03 23:41:53

我推荐System.Timers名称空间中的Timer类。同样值得关注的是System.Threading名称空间中的Timer类。

using System;
using System.Timers;

public class Timer1
{
    private static Timer aTimer = new System.Timers.Timer(10000);

    public static void Main()
    {
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
        aTimer.Enabled = true;

        Console.WriteLine("Press the Enter key to exit the program.");
        Console.ReadLine();
    }

    // Specify what you want to happen when the Elapsed event is 
    // raised.
    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
    }
}

来自MSDN文档的示例。

票数 15
EN

Stack Overflow用户

发布于 2010-08-01 18:10:28

据我所知,至少还有System.Timers.TimerSystem.Threading.Timer类。

但有一件事需要注意(如果你以前还没有这样做过),假设你已经在你的using子句中有了System.Threading命名空间,但是你实际上想要在System.Timers中使用计时器,你需要这样做:

using System.Threading;
using Timer = System.Timers.Timer;

Jon Skeet在他的多线程指南中有一篇关于定时器的文章,非常值得一读:http://www.yoda.arachsys.com/csharp/threads/timers.shtml

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/169332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档