簡體   English   中英

簡單的倒數計時器 C# 顯示分鍾和秒 - 已經有分鍾

[英]Simple countdown timer C# showing Minutes and Seconds - already have minutes

我有一個 Windows 表單,其中包含一個簡單的倒計時計時器,用於向觀眾顯示賽車比賽還剩多少時間。 它用於顯示還剩多少分鍾,但我需要它來顯示還剩多少分鍾和秒。

用戶可以決定是否顯示時間(如圖片框前的 label),用戶可以開始/停止/重置/增加或減少分鍾(所有用戶輸入以分鍾為單位)。

如果有人能給我一個關於如何格式化剩余時間以顯示為 000:00(即 mmm:ss)並以秒為單位倒計時的指示,我將不勝感激。

這是我到目前為止所擁有的:

int timeleft = 10;
private void timer1_Tick(object sender, EventArgs e)
{
    if (timeleft > 0)
    {
        timeleft = timeleft - 1;
        label3.Text = timeleft + " Mins";
    }
    else
    {
        timer1.Stop();
        label3.Text = "Time Up";
    }
}

private void button26_Click(object sender, EventArgs e)
{
    timer1.Start();
}

private void button27_Click(object sender, EventArgs e)
{
    timer1.Stop();
}

private void button32_Click(object sender, EventArgs e)
{
    timer1.Stop();
    timeleft = 20;
    label3.Text = timeleft + " Mins";
}

private void button28_Click(object sender, EventArgs e)
{
    timeleft = timeleft + 1;
    label3.Text = timeleft.ToString() + " Mins";
}

private void button30_Click(object sender, EventArgs e)
{
    timeleft = timeleft - 1;
    label3.Text = timeleft.ToString() + " Mins";
}

private void button7_Click(object sender, EventArgs e)
{
    timeleft = timeleft + 10;
    label3.Text = timeleft.ToString() + " Mins";
}

private void button29_Click(object sender, EventArgs e)
{
    label3.BringToFront();
}

您應該使用TimeSpan來描述剩余時間。 這將允許您使用自定義格式字符串來格式化時間。 IE

timeleft = TimeSpan.FromMinutes(20);
label3.Text = timeLeft.ToString("mm\\:ss");

您還可以創建一個額外的擴展方法,根據剩余時間打印分鍾或秒。 即如果超過一分鍾,只顯示分鍾,否則顯示秒。 或者,如果剩余時間少於 5 分鍾但多於 1 分鍾,則同時顯示分鍾和秒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM