等待一秒钟,然后执行按钮操作WPF



我试图通过在这个按钮上等待x秒来点击按钮,然后执行他的操作,我在Win-form中使用System.Windows.Forms.Timer来进行,但如何在WPF中进行同样的操作
我让这个功能等待5秒钟,然后再采取一些行动

private System.Windows.Forms.Timer MTimer = new System.Windows.Forms.Timer();
    private void StartAsyncTimedWork()
    {
        MTimer.Interval = 5000;
        MTimer.Tick += new EventHandler(MTimer_Tick);
        MTimer.Start();
    } 

我如何在Wpf中做同样的事情,让用户用鼠标点击按钮,等待5秒钟后再执行按钮操作,请给我一个链接或代码。

您可以使用DispatcherTimer,但使用async方法和Task.Delay:可能是最简单的

public async void Foo(object sender, RoutedEventArgs e)
{
    await Task.Delay(5000);
    DoSomething();
}

窗口中tmer的替代项形成DispatcherTimer控件。它做的几乎是一样的事情,但不是把它放在表单上,而是专门从代码背后创建和使用它。

DispatcherTimer

您也可以使用Observable语法:

Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(x => // do something here like 
Console.WriteLine(x));

最新更新