计算文本框中值的总时间.我想计算一下时间的价值

本文关键字:计算 时间 一下 文本 | 更新日期: 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());

    }
}

也许你可以根据自己的情况进行调整。