如何重置调度程序计时器

本文关键字:计时器 调度程序 何重置 | 更新日期: 2023-09-27 18:32:26

这些是我的声明和调度程序计时器的方法:

private DispatcherTimer DishTimer;
private TimeSpan SpanTime;
private void InitTimer()
{
    DishTimer = new DispatcherTimer();
    DishTimer.Interval = new TimeSpan(0, 0, 0, 1);
    DishTimer.Tick += TimerOnTick;
}
private void TimerOnTick(object sender, object o)
{
    SpanTime = SpanTime.Add(DishTimer.Interval);
    Duration.DataContext = SpanTime;
}        

这就是我称之为的地方:

private void CaptureButton_Click(object sender, RoutedEventArgs e)
{
    if ((string) CaptureButton.Content == "Capture")
    {
        CaptureAudio();
        InitTimer();
        DishTimer.Start();
        ProgressRing.IsActive = true;
        CaptureButton.Content = "Stop";
    }
    else
    {
        StopCapture();
        DishTimer.Stop();
        ProgressRing.IsActive = false;
        CaptureButton.Content = "Capture";
    }
}

这是我用于显示计时器的 XAML 代码:

<TextBlock Name="Duration" Text="{Binding}"  HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24"></TextBlock>

我正在制作一个录音应用程序,我希望每次用户按捕获时都显示计时器。我的问题是我无法重置它

如何重置调度程序计时器

调用Stop(),然后Start()应重新启动计时器间隔。

您需要

在按下捕获按钮时(重新)设置SpanTime。只是做

SpanTime = new TimeSpan();

它应该重置为零并重新开始,直到您再次按下按钮。