首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逆转DispatcherTimer?

如何逆转DispatcherTimer?
EN

Stack Overflow用户
提问于 2019-05-09 09:15:27
回答 1查看 155关注 0票数 1

我需要逆转DispatcherTimer

代码语言:javascript
复制
    public TestTimer()
    {
        Timer = new DispatcherTimer();
        Timer.Interval = new TimeSpan(0, 0, 1);
        Timer.Tick += TimerTick;
        StartTimer();            
    }

    private DispatcherTimer Timer;

    private int _seconds;
    public int Seconds
    {
        get { return _seconds; }
        set
        {
            if(value > -1 && value < 61)
                _seconds = value;
        }
    }

    private int _minutes;
    public int Minutes
    {
        get { return _minutes; }
        set
        {
            if (value > -1 && value < 61)
                _minutes = value;
        }
    }

    private int _hours;
    public int Hours
    {
        get { return _hours; }
        set
        {
            if (value > -1 && value < 25)
                _hours = value;
        }
    }

    public void StartTimer()
    {
        Timer.Start();
    }

    public void StopTimer()
    {
        Timer.Stop();
    }

    private void TimerTick(object sender, EventArgs e)
    {
        if (Seconds > 59)
        {
            Seconds = 0;
            Minutes++;

            if (Minutes > 59)
            {
                Minutes = 0;
                Hours++;

                if (Hours > 23)
                    Hours = 0;
            }
        }
        Seconds++;

        TimeFormat = string.Format("{0:00}:{1:00}:{2:00}",
            Hours, Minutes, Seconds);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-09 09:28:44

我不知道你想做什么或者是为了什么目的。

如果您想要计数,那么您可以使用TimerTick事件处理程序每秒钟进行一次,并在开始时计数,或者更有效地使用DateTime.Now,并在完成时减去DateTime.Now,以在它们之间得到一个TimeSpan

如果您正在倒数,您可以使用相同的方法,但减去您的开始运行的滴答数,以获得您当前的倒计时值。

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

https://stackoverflow.com/questions/56056086

复制
相关文章

相似问题

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