我正在创建一个秒表类型的应用程序。我使用标签来显示时间。当应用程序启动时,标签被初始化为“00:00:00”,我想每 1 秒增加一次它的时间。
我正在尝试通过使用计时器来完成这项工作。
在您的计时器中获取系统时间,因此您的计时器必须具有非常小的间隔,例如 200 毫秒。要计算您的时间,只需计算 currentTime - startTIme 以秒为单位。
如果我说得对,它肯定会奏效。将初始标签文本设置为“00:00:00”。设置定时器间隔为 1000。
private void btnStartWatch_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void btnPauseWatch_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
}
int i = 1;
DateTime dt = new DateTime();
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
i++;
}
希望能帮助到你。
我的一个应用程序上有一个计时器。
private int _seconds;
public string TimeDisplay
{
get
{
TimeSpan ts = new TimeSpan( 0, 0, _seconds );
return string.Format("{0,2:00}:{1,2:00}:{2,2:00}", ts.Minutes, ts.Minutes, ts.Seconds);
}
}
您所要做的就是让您的 timer_tick 甚至增加 _seconds 和 NotifyPropertyChanged() 如果您绑定到它。无论哪种方式,TimeDisplay 都会有你的结果。
我希望明白。
private void Button1_Click(System.Object sender, System.EventArgs e)
{
Timer1.Interval = 1000;
Timer1.Start();
}
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
this.Label1.Text = DateTime.Now.ToString("hh/mm/ss");
}
问候
你想要的TimeSpan
结构。
就像是:
TimeSpan current = new TimeSpan(0);
// In your update loop:
current += TimeSpan.FromSeconds(1);