我的应用程序中有两个按钮"开始"和"停止"。
当用户点击“开始”按钮时,LabelStartTime.Text包含当前系统时间(HH:MM AM / PM)。
当用户点击停止按钮时LabelStopTime.Text包含当前系统时间和LabelTotle.Text
我试图在几分钟内显示时差。我只知道如何获得标签值的当前时间。
lblCurrentTime.Text = DateTime.Now.ToShortTimeString();
//获取当前时间
private void button1_Click(object sender, EventArgs e)
{
lblCurrentTime.Text = DateTime.Now.ToShortTimeString(); // get system time to the Start time
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
}
private void button2_Click(object sender, EventArgs e)
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Stop();
textBox1.Text = DateTime.Now.ToShortTimeString();
lblCurrentPrice.Text = Stopwatch.Elapsed.TotalMinutes;
}
这 - > Stopwatch.Elapsed.TotalMinutes
给定错误
答案 0 :(得分:4)
考虑使用System.Diagnostics.Stopwatch
类。单击第一个按钮时调用Start()
,单击第二个按钮调用Stop()
。然后,分钟的差异为Stopwatch.Elapsed.TotalMinutes;
在代码示例中,您现在已经宣布两个new
秒表仅存在于每个方法的范围内。
在这样的方法之外声明它:
Stopwatch stopWatch = new Stopwatch();
private void button1_Click(object sender, EventArgs e)
{
// get system time to the Start time
lblCurrentTime.Text = DateTime.Now.ToShortTimeString();
stopWatch.Start();
}
private void button2_Click(object sender, EventArgs e)
{
stopWatch.Stop();
textBox1.Text = DateTime.Now.ToShortTimeString();
lblCurrentPrice.Text = Stopwatch.Elapsed.TotalMinutes;
}