You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C# DispatcherTimer实现WPF 15分钟倒计时功能

你的代码逻辑本身没有问题,之所以只实现15秒倒计时,是因为你定义的time变量的计数单位为秒,初始赋值15就代表总倒计时时长为15秒。

解决方法

  • 第一步:修改time变量的初始值,15分钟对应900秒,把private int time = 15;改为private int time = 15 * 60;即可实现15分钟倒计时的基础逻辑。
  • 第二步(可选优化):原有的时间格式化逻辑会导致个位数的秒数显示缺零(比如剩余5秒会显示为0:5),可以将格式化代码调整为补零格式,显示效果更规范。

修改后的完整代码如下:

public partial class MainWindow : Window
{
    // 15分钟换算为900秒作为初始值
    private int time = 15 * 60;
    private DispatcherTimer Timer;
    public MainWindow()
    {
        InitializeComponent();
        Timer = new DispatcherTimer();
        Timer.Interval = new TimeSpan(0,0,1);
        Timer.Tick += Timer_Tick;
        Timer.Start();
    }

    void Timer_Tick(object sender, EventArgs e) {
        if (time > 0)
        {
            time--;
            // D2表示数字按两位格式化,不足补前导0
            TBCountDown.Text = string.Format("{0}:{1:D2}", time / 60, time % 60);
        }
        else {
            Timer.Stop();
        }
    }
}

内容的提问来源于stack exchange,提问作者mully

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:24:02