winform中执行开始就开始计时,一秒一秒前进,时间格式:00:00:00 执行结束计时结束,得出执行所花费的时间,以下是我写的,但好像不正确。求正确的该怎样写
private DateTime dtStart;
private void timer1_Tick(object sender, EventArgs e)
{
DateTime mytime=DateTime.Now;
this.label1.Text = string.Format("{0}:{1}:{2}", (mytime.Hour - dtStart.Hour).ToString().PadLeft(2, '0'), (mytime.Minute - dtStart.Minute).ToString().PadLeft(2, '0'), (mytime.Second - dtStart.Second).ToString().PadLeft(2, '0'));
}
private void button1_Click(object sender, EventArgs e)
{
dtStart = DateTime.Now;
this.timer1.Enabled = true;
}这样写的话,执行还没到一分钟就乱掉了
private DateTime dtStart;
private void timer1_Tick(object sender, EventArgs e)
{
DateTime mytime=DateTime.Now;
this.label1.Text = string.Format("{0}:{1}:{2}", (mytime.Hour - dtStart.Hour).ToString().PadLeft(2, '0'), (mytime.Minute - dtStart.Minute).ToString().PadLeft(2, '0'), (mytime.Second - dtStart.Second).ToString().PadLeft(2, '0'));
}
private void button1_Click(object sender, EventArgs e)
{
dtStart = DateTime.Now;
this.timer1.Enabled = true;
}这样写的话,执行还没到一分钟就乱掉了
private void button1_Click(object sender, EventArgs e)
{
dtStart = DateTime.Now;
this.timer1.Enabled = true;
} private void timer1_Tick(object sender, EventArgs e)
{
this.label1.Text = Convert.ToDateTime(((TimeSpan)(DateTime.Now - dtStart)).ToString()).ToString("HH:mm:ss");
}