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

时间:2015-03-24 13:58:46

标签: c# wpf

我尝试按下此按钮等待按钮,然后执行他的操作,我使用System.Windows.Forms.TimerWin-form中进行操作,但是如何在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秒后再执行按钮操作,请给我一个链接或一些代码。

3 个答案:

答案 0 :(得分:2)

可以使用DispatcherTimer代替,但使用async方法和Task.Delay可能最简单:

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

答案 1 :(得分:1)

Windows中的tmer替代形式DispatcherTimer控件。它几乎完全相同,但不是将其放在表单上,​​而是专门从代码隐藏代码中创建和使用它。

The DispatcherTimer

答案 2 :(得分:0)

您还可以使用Observable语法:

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