计算文本框中值的总时间.我想计算一下时间的价值
本文关键字:计算 时间 一下 文本 | 更新日期: 2023-09-27 18:00:01
我在文本框中有一些值。我想计算文本框中该值的时间。表示该值在文本框中存在的时间。
值属于布尔类型。它可以是1或0。我想计算每个值的时间跨度以及它们的差异。
您发布的代码不多,但我会尝试一下。我在您的代码中没有看到任何bool
变量。您可能应该有一个可以保存当前状态的。
由于您将值写入TextBox
,因此可以在以下行之后启动MMbach建议的计时器:
sqlserver_status.Text = "Active";
// start timer here
只要代码中的状态发生变化,就会停止计时器并检查经过的时间。
您也可以使用StopWatch类来实现这一点。它有一个名为Elapsed
的属性:
获取当前实例测量的总运行时间。
如果你需要在后台运行它,我建议你使用Timer
。
下面是一个用System.Diagnostics.Stopwatch
实现的小型演示。对这个问题有更多的认识。它总是取决于你的程序结构,哪种实现是好是坏。
这是一个小型控制台应用程序,您可以在其中决定何时更改State
变量。它将监控您的决策过程。
public class TimeDemo
{
// Property to catch the timespan
public TimeSpan TimeOfState { get; set; }
// Full Property for the state
private bool state;
public bool State
{
get { return state; }
set
{
// whenever a new state value is set start measuring
state = value;
this.TimeOfState = StopTime();
}
}
// Use this to stop the time
public System.Diagnostics.Stopwatch StopWatch { get; set; }
public TimeDemo()
{
this.StopWatch = new System.Diagnostics.Stopwatch();
}
//Method to measure the elapsed time
public TimeSpan StopTime()
{
TimeSpan t = new TimeSpan(0, 0, 0);
if (this.StopWatch.IsRunning)
{
this.StopWatch.Stop();
t = this.StopWatch.Elapsed;
this.StopWatch.Restart();
return t;
}
else
{
this.StopWatch.Start();
return t;
}
}
public void Demo()
{
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
}
}
也许你可以根据自己的情况进行调整。