Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中创建秒表?_C#_Visual Studio 2012_Timer_Stopwatch - Fatal编程技术网

C# 如何在c中创建秒表?

C# 如何在c中创建秒表?,c#,visual-studio-2012,timer,stopwatch,C#,Visual Studio 2012,Timer,Stopwatch,如何在c visual studio 2012中创建秒表,当您开始在文本框中键入时开始,按enter键时停止?当我开始输入另一个单词时,它应该再次开始,按enter键时再次结束,然后显示每个单词记录的时间 下面的示例演示如何使用Stopwatch类来确定应用程序的执行时间。 C 您可以覆盖秒表,使其适合您的惠斯,如下所示: private void Usage() { WordStopWatch wsw = new WordStopWatch(); // On textchan

如何在c visual studio 2012中创建秒表,当您开始在文本框中键入时开始,按enter键时停止?当我开始输入另一个单词时,它应该再次开始,按enter键时再次结束,然后显示每个单词记录的时间

下面的示例演示如何使用Stopwatch类来确定应用程序的执行时间。 C

您可以覆盖秒表,使其适合您的惠斯,如下所示:

private void Usage()
{
    WordStopWatch wsw = new WordStopWatch();

    // On textchanged?
    wsw.Start();

    // On keypress -> Enter
    wsw.Stop(/*Your control here ala*/ textBoxInput.Something);
}

private class WordStopWatch : Stopwatch
{
    // Temporary save start-time and end-time
    public DateTime StartAt { get; private set; }
    public DateTime EndAt { get; private set; }

    // Save your records
    public List<Tuple<TimeSpan, string>> Records;

    // Override Start() to save StartAt
    public void Start()
    {
        StartAt = DateTime.Now;
        base.Start();
    }

    // Override Stop() to save EndAt and your records.
    public void Stop(string word)
    {
        EndAt = DateTime.Now;
        StartAt = EndAt - base.Elapsed;
        base.Stop();

        Records.Add(new Tuple<TimeSpan, string>(EndAt - StartAt, word));
    }
}

这只是向一个可能的方向推进。只要稍加努力,您应该能够继续。

您在这方面遇到了哪些具体问题?那么,基于此示例,您尝试了哪些方法?你被困在哪里了?你的东西怎么了?你指的是什么样的文本框?我假设是Windows窗体。所以你可能想看看这个活动或者另一个合适的活动似乎您已经知道如何创建/使用秒表,而其他东西的问题更多。@roryapw当我按键盘上除“回车”以外的键时,我用什么代码使秒表启动,当我按“回车”时使其停止。然后当我按另一个键时再次开始,并在每次按enter键时显示时间。
private void Usage()
{
    WordStopWatch wsw = new WordStopWatch();

    // On textchanged?
    wsw.Start();

    // On keypress -> Enter
    wsw.Stop(/*Your control here ala*/ textBoxInput.Something);
}

private class WordStopWatch : Stopwatch
{
    // Temporary save start-time and end-time
    public DateTime StartAt { get; private set; }
    public DateTime EndAt { get; private set; }

    // Save your records
    public List<Tuple<TimeSpan, string>> Records;

    // Override Start() to save StartAt
    public void Start()
    {
        StartAt = DateTime.Now;
        base.Start();
    }

    // Override Stop() to save EndAt and your records.
    public void Stop(string word)
    {
        EndAt = DateTime.Now;
        StartAt = EndAt - base.Elapsed;
        base.Stop();

        Records.Add(new Tuple<TimeSpan, string>(EndAt - StartAt, word));
    }
}