我需要显示从0开始的运行时间

时间:2014-07-02 19:14:19

标签: c# timer

我需要显示以0开头的时间和(将在几秒钟内继续运行) 我需要在游戏中显示,以便显示播放时间。 如截图所示:

有人告诉我这样做,

Stopwatch st = new Stopwatch();
st.Start();

并用

显示
Console.WriteLine(st.Elapsed);

但它不起作用(秒没有运行)! 它显示为:

enter image description here

3 个答案:

答案 0 :(得分:1)

据我了解,您只需每1秒钟更新一次显示屏,为什么不使用每1秒钟运行一次的Timer并增加屏幕上显示的内容。 (在此处阅读有关计时器的信息:http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

你可以在这里找到一个例子: How to set timer in C#?

答案 1 :(得分:0)

鉴于这是一个控制台游戏:将TimeSatch中的Elapsed时间存储在TimeSpan中,然后使用Thread.Sleep();来自System.Threading()的属性;模拟1秒钟。

        Stopwatch st = new Stopwatch();
        st.Start();

        while (true)
        {
            TimeSpan ts = st.Elapsed;
            string time = String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds);
            Console.Write("\r{0}     ", time);
            Thread.Sleep(1000);
        }

PS:这是我在本网站的第一个答案,我希望我能提供帮助!

答案 2 :(得分:0)

如果是游戏,必须在某个地方animation (game) loop。你应该把

Console.WriteLine(st.Elapsed);

那里。这样就可以正确刷新。