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

如何在C# Windows窗体应用中显示当前日期时间及实时更新标题栏?

解决C# WinForms实时显示当前日期时间的两种需求

嘿,我来帮你搞定这两个需求!要实现实时更新日期时间,核心是用Timer控件定时刷新,搭配DateTime.Now.ToString()来获取当前时间。下面是详细的实现步骤:

1. 准备工作:添加Timer控件

打开你的WinForms项目,在工具箱里找到Timer控件(通常在「组件」分类下),直接拖到你的窗体上就行。这个控件会在后台默默运行,定时触发更新事件。

2. 配置Timer属性

选中刚添加的Timer控件,在右侧属性窗口里做两个设置:

  • 设置Interval为1000(单位是毫秒,也就是1秒刷新一次,你可以根据需求调整,比如设500就是半秒更一次)
  • 先把Enabled设为false,我们后面在窗体加载时再启动它

3. 编写实时更新逻辑(Timer的Tick事件)

双击Timer控件,自动生成Tick事件处理方法,在方法里加入以下代码:

private void timer1_Tick(object sender, EventArgs e)
{
    // 1. 更新控件的Text属性(这里假设你用的是Label控件,名字是lblDateTime)
    lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    
    // 2. 更新窗体标题栏
    this.Text = $"当前时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";
}

小技巧:自定义时间显示格式

ToString()里的参数可以自由调整格式,比如:

  • yyyy-MM-dd:显示「年-月-日」(例:2024-05-20)
  • HH:mm:ss:24小时制的「时:分:秒」(例:14:30:45)
  • yyyy年MM月dd日 HH:mm:ss:中文格式(例:2024年05月20日 14:30:45)
    你完全可以根据自己的需求修改这个格式字符串。

4. 启动Timer

双击窗体空白处,生成窗体的Load事件,在事件里启动Timer:

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

这样一来,窗体加载完成后,Timer就会每秒触发一次更新,控件文本和窗体标题就会实时显示当前时间啦!

如果你只需要在窗体加载时显示一次(不需要实时更新),那直接在Form_Load里写一次赋值就行,不用Timer:

private void Form1_Load(object sender, EventArgs e)
{
    lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    this.Text = $"当前时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:15:57