一旦游戏结束,我怎么能让这个计时器停止?

时间:2017-01-26 04:19:36

标签: c#

嗨我正在寻找一些帮助,让我知道如何在游戏结束后让这个时间停止,以及如何在达到60秒后将其更改为分钟,计时器的代码如下:

    int i = 0;
    private void tmrCounter_Tick(object sender, EventArgs e)
    {
        i++;
        lblTime.Text = i.ToString() + " Seconds";
    }

2 个答案:

答案 0 :(得分:2)

您只需拨打tmrCounter.Stop();即可停止计时器。

对于秒计时器,您可以使用:

   i++;

   var ts = TimeSpan.FromSeconds(i);

   lblTime.Text = string.Format("{0} Minutes, {1} Seconds", ts.Minutes, ts.Seconds);

或者,如果您只想显示秒数,如果它仍然少于60秒,您可以使用:

   i++;

   var ts = TimeSpan.FromSeconds(i);
   if (ts.Minutes < 1)
        {
         lblTime.Text = string.Format("{0} Seconds", ts.Seconds);
        }
   else
        {
         lblTime.Text = string.Format("{0} Minutes, {1} Seconds", ts.Minutes, ts.Seconds);
        }

希望它有所帮助!

答案 1 :(得分:1)

如果您有System.Windows.Forms.Timer之类的话:

Timer tmrCounter = new Timer();

您可以使用以下任一方式启动它:

tmrCounter.Start();

tmrCounter.Enabled = true;

你可以用以下任何一种方法来阻止它:

tmrCounter.Stop();

tmrCounter.Enabled = false;

假设计时器的间隔是一秒而你的Tick事件处理程序递增一个表示秒的计数器,你可以除以60来报告分钟:

int i = 0;
private void tmrCounter_Tick(object sender, EventArgs e)
{
    i++;
    string text = i.ToString() + " Seconds";
    if (i >= 60)
    {
        text = (i / 60).ToString() + " Minutes";
    }

    lblTime.Text = text;
}