C# 如何在时间上增加?
我正在创建一个秒表类型的应用程序。我用了一个标签来显示时间。当应用程序启动时,标签被初始化为“00:00:00”,我想每1秒增加一次它的时间 我想用定时器来完成这项工作。我希望你能理解C# 如何在时间上增加?,c#,winforms,timer,stopwatch,C#,Winforms,Timer,Stopwatch,我正在创建一个秒表类型的应用程序。我用了一个标签来显示时间。当应用程序启动时,标签被初始化为“00:00:00”,我想每1秒增加一次它的时间 我想用定时器来完成这项工作。我希望你能理解 private void Button1_Click(System.Object sender, System.EventArgs e) { Timer1.Interval = 1000; Timer1.Start(); } private void Timer1_Tick(System
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");
}
问候我希望能理解
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");
}
关于计时器中的获取系统时间,因此计时器的间隔必须非常小,如200ms。要计算时间,只需计算currentTime-startTIme(以秒为单位)。在计时器中获取系统时间,因此计时器的间隔必须非常小,如200ms。要计算您的时间,只需计算currentTime-startTIme(以秒为单位)。您需要时间 比如:
TimeSpan current = new TimeSpan(0);
// In your update loop:
current += TimeSpan.FromSeconds(1);
你想要这个
比如:
TimeSpan current = new TimeSpan(0);
// In your update loop:
current += TimeSpan.FromSeconds(1);
我的一个应用程序上有计时器
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);
}
}
你所要做的就是让你的计时器滴答滴答地增加秒数,如果你绑定到它,就通知PropertyChanged()。无论哪种方式,TimeDisplay都会显示您的结果。我的一个应用程序上有一个计时器
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);
}
}
你所要做的就是让你的计时器滴答滴答地增加秒数,如果你绑定到它,就通知PropertyChanged()。无论哪种方式,TimeDisplay都会显示您的结果。如果我没有弄错,它肯定会工作。将初始标签文本设置为“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++;
}
希望有帮助。如果我没弄错的话,它肯定会有用的。将初始标签文本设置为“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++;
}
希望有帮助。您在哪一部分遇到问题?把你目前掌握的代码贴出来。你有什么问题?发布到目前为止的代码。DateTime.Now.ToString();它会将计时器设置为系统时间。我在查询中提到,我正在创建一个秒表类型的应用程序。应该从00:00开始:00@MuhammadAliDildar,你不能计算一下系统时间和你的启动时间的差吗?@L.B:不需要。最好改变你的方法。这可能会变得非常困难confusing@rapsalands我不建议任何方法。这是对
的回答,它会将计时器设置为系统时间
DateTime.Now.ToString();它会将计时器设置为系统时间。我在查询中提到,我正在创建一个秒表类型的应用程序。应该从00:00开始:00@MuhammadAliDildar,你不能计算一下系统时间和你的启动时间的差吗?@L.B:不需要。最好改变你的方法。这可能会变得非常困难confusing@rapsalands我不建议任何方法。这是对的回答,它会将计时器设置为系统时间
这种方法的问题是,没有任何东西可以保证您的timer1_Tick
方法会精确地每秒调用一次。Windows唯一能保证的是,调用timer tick函数之间至少需要一秒钟的时间。所以,如果你让它运行一天,而你仍在使用你的电脑,它可能会读得有点慢。计算所用时间的正确方法是取当前时间减去开始时间,给出从开始到现在所用的时间。@GregHewgill:Good point。但是,如果问题中提到的是秒表,那么这种方法可能工作得很好。这种方法的问题是,没有任何东西可以保证您的timer1\u Tick
方法每秒都会被精确调用。Windows唯一能保证的是,调用timer tick函数之间至少需要一秒钟的时间。所以,如果你让它运行一天,而你仍在使用你的电脑,它可能会读得有点慢。计算所用时间的正确方法是取当前时间减去开始时间,给出从开始到现在所用的时间。@GregHewgill:Good point。但是,如果问题中提到的是秒表,那么这种方法可能工作得很好。这种方法的问题是没有任何东西可以保证您的timer1\u Tick
事件方法每秒都会被精确调用。Windows唯一能保证的是,调用timer tick函数之间至少需要一秒钟的时间。所以,如果你让它运行一天,而你仍在使用你的电脑,它可能会读得有点慢。计算已用时间的正确方法是取当前时间减去开始时间,给出从开始到现在的已用时间量。这种方法的问题是没有任何东西可以保证您的timer1\u Tick
事件方法每秒都会被精确调用。Windows唯一能保证的是,调用timer tick函数之间至少需要一秒钟的时间。所以,如果你让它运行一天,而你仍在使用你的电脑,它可能会读得有点慢。计算经过时间的正确方法是取当前时间减去开始时间,给出从开始到现在的经过时间。