文章内容

2017/11/7 9:38:01,作 者: 黄兵

C#控制台程序的计时器设计

这里说的计时器是类似于秒表的东西,可以在一旁显示计时,是编写某些游戏必不可少的部分。下面通过一个例子来介绍如何添加:

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;                        //需要用到线程

namespace AppService
{
    class Program
    {
        static void Main(string[] args)
        {
            StopWatch sw = new StopWatch();
            sw.Start();
        }
    }

    class StopWatch
    {
        private int Interval = 1000;              //时间间隔,单位毫秒
        private int Time = 0;                        //所显示的时间

        public void Start()
        {
            Thread timer = new Thread(new ThreadStart(Timer));  //新建一个线程,该线程调用Timer()
            timer.Start();                               //启动线程
            Console.CursorVisible = false;   //隐藏光标
            Console.ReadKey(true);            //等待按任意键退出
            timer.Abort();                              //终止线程,用于停止秒表
        }

        private void Timer()
        {
            while (true)
            {
                Display();                               //显示秒表计数
                Thread.Sleep(Interval);         //等待1秒后再执行Timer()刷新计数
                Time++;                                 //秒数加1
            }
        }

        private void Display()
        {
            Console.SetCursorPosition(0, 0);
            Console.Write("Time:" + Time.ToString());
        }
    }
}

想必看完程序大家对其中的方法已经很了解了,就不再赘述。程序可直接拷过去运行,运行结果是一个在控制台左上角显示的秒表,按任意键退出。

这个程序中可扩展的部分为Display(),可以换成执行其他操作的函数。它可以间歇地执行,以实现某种特定的功能,而它等待的时间即是由Interval决定的。

本文转载自:C#控制台程序的计时器设计

分享到:

发表评论

评论列表