我尝试按下此按钮等待按钮,然后执行他的操作,我使用System.Windows.Forms.Timer
在Win-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秒后再执行按钮操作,请给我一个链接或一些代码。
答案 0 :(得分:2)
你可以使用DispatcherTimer
代替,但使用async
方法和Task.Delay
可能最简单:
public async void Foo(object sender, RoutedEventArgs e)
{
await Task.Delay(5000);
DoSomething();
}
答案 1 :(得分:1)
Windows中的tmer替代形式DispatcherTimer控件。它几乎完全相同,但不是将其放在表单上,而是专门从代码隐藏代码中创建和使用它。
答案 2 :(得分:0)
您还可以使用Observable语法:
Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(x => // do something here like
Console.WriteLine(x));