优秀的编程知识分享平台

网站首页 > 技术文章 正文

c# 100秒倒计时功能的C#代码示例(基于Windows Forms):

nanyue 2025-07-28 19:23:28 技术文章 1 ℃


using System;

using System.Windows.Forms;


namespace CountdownTimer

{

public partial class MainForm : Form

{

private int secondsLeft = 100;

private Timer timer = new Timer();


public MainForm()

{

InitializeComponent();

InitializeTimer();

InitializeButtons();

}


private void InitializeTimer()

{

timer.Interval = 1000; // 每秒触发一次

timer.Tick += Timer_Tick;

}


private void InitializeButtons()

{

// 假设按钮控件名为 btnStart, btnStop, btnReset

btnStart.Click += BtnStart_Click;

btnStop.Click += BtnStop_Click;

btnReset.Click += BtnReset_Click;

}


private void Timer_Tick(object sender, EventArgs e)

{

secondsLeft--;

lblCountdown.Text = secondsLeft.ToString();


if (secondsLeft <= 0)

{

timer.Stop();

secondsLeft = 0;

}

}


private void BtnStart_Click(object sender, EventArgs e)

{

if (secondsLeft > 0)

{

timer.Start();

btnStart.Enabled = false;

btnStop.Enabled = true;

btnReset.Enabled = true;

}

}


private void BtnStop_Click(object sender, EventArgs e)

{

timer.Stop();

btnStart.Enabled = true;

btnStop.Enabled = false;

}


private void BtnReset_Click(object sender, EventArgs e)

{

timer.Stop();

secondsLeft = 100;

lblCountdown.Text = "100";

btnStart.Enabled = true;

btnStop.Enabled = false;

}

}

}


关键实现说明:

1. 定时器机制:使用
System.Windows.Forms.Timer实现每秒触发一次的倒计时

2. 状态管理:

- secondsLeft变量跟踪剩余时间

- 按钮状态通过Enabled属性动态控制

3. 功能实现:

- 开始按钮:启动定时器并禁用自身

- 停止按钮:暂停定时器并恢复开始按钮

- 复位按钮:重置时间并恢复初始状态


使用说明:

1. 需要添加以下控件到窗体:

- Label(显示倒计时,建议名称lblCountdown)

- 三个Button(建议名称btnStart、btnStop、btnReset)

2. 初始状态应设置:

- btnStop和btnReset初始为禁用状态

- lblCountdown显示"100"


扩展建议:

- 可添加倒计时结束时的提示音(通过System.Media.SoundPlayer)

- 可实现更友好的时间显示格式(如"01:30"格式)

- 可添加时间进度条控件同步显示进度

Tags:

最近发表
标签列表