Csharp/C#教程:如何在WPF中执行操作之前放置延迟分享


如何在WPF中执行操作之前放置延迟

我尝试使用以下代码在导航到下一个窗口之前延迟2秒。 但线程首先调用,文本块显示一微秒,然后进入下一页。 我听说调度员会这样做。

这是我的片段:

tbkLabel.Text = "two mins delay"; Thread.Sleep(2000); Page2 _page2 = new Page2(); _page2.Show(); 

对Thread.Sleep的调用阻止了UI线程。 您需要异步等待。

方法1:使用DispatcherTimer

 tbkLabel.Text = "two seconds delay"; var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) }; timer.Start(); timer.Tick += (sender, args) => { timer.Stop(); var page = new Page2(); page.Show(); }; 

方法2:使用Task.Delay

 tbkLabel.Text = "two seconds delay"; Task.Delay(2000).ContinueWith(_ => { var page = new Page2(); page.Show(); } ); 

方法3:.NET 4.5方式,使用async / await

上述就是C#学习教程:如何在WPF中执行操作之前放置延迟分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 // we need to add the async keyword to the method signature public async void TheEnclosingMethod() { tbkLabel.Text = "two seconds delay"; await Task.Delay(2000); var page = new Page2(); page.Show(); } 

www.ctvol.com true Article Csharp/C#教程:如何在WPF中执行操作之前放置延迟分享

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/952967.html

(0)
上一篇 2021年11月18日 下午9:47
下一篇 2021年11月18日 下午9:49

精彩推荐