请使用C#窗体应用程序实现按一下P键暂停计时器,再按一下继续计时器
时间: 2024-03-03 12:52:01 浏览: 70
C#实现计时器
好的,以下是C#窗体应用程序的实现代码:
首先,在窗体上添加一个计时器Timer控件,并设置Interval属性为1000(即每隔1秒触发一次Tick事件),并将Enabled属性设置为true(默认启用计时器)。
然后,在窗体的KeyDown事件中添加以下代码:
```csharp
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
// 判断是否按下P键
if (e.KeyCode == Keys.P)
{
// 切换计时器的启用状态
timer1.Enabled = !timer1.Enabled;
// 如果计时器已停止,则将计时器的起始时间重置为当前时间
if (!timer1.Enabled)
{
timer1.Tag = DateTime.Now;
}
}
}
```
上述代码中,我们判断用户是否按下了P键,如果是,则切换计时器的启用状态。如果计时器已经停止了,则将计时器的起始时间重置为当前时间,以便计时器在下一次启动时能够正确计时。
最后,在计时器的Tick事件中添加以下代码:
```csharp
private void timer1_Tick(object sender, EventArgs e)
{
// 计算已经过去的时间
TimeSpan elapsed = DateTime.Now - (DateTime)timer1.Tag;
// 更新显示的时间
label1.Text = string.Format("{0:00}:{1:00}:{2:00}", elapsed.Hours, elapsed.Minutes, elapsed.Seconds);
}
```
在每次计时器触发Tick事件时,我们计算从计时器启动到现在已经过去的时间,并将其用格式化字符串的形式显示在界面上。
这样,当用户按下P键时,计时器就会暂停或继续运行,达到了我们的需求。
阅读全文