Csharp/C#教程:使用异步在线程中睡眠而不冻结分享


使用异步在线程中睡眠而不冻结

所以我在这里贴了一个标签(“”)。 单击按钮(按钮1)时,标签文本变为“测试”。 2秒后,文本将重新设置为“”。 我使用计时器(间隔为2000)完成了这项工作:

private void button1_Click(object sender, EventArgs e) { label1.Text = "Test"; timer.Enabled = true; } private void timer_Tick(object sender, EventArgs e) { label1.Text = ""; } 

这有效; 但是,我很好奇它使它在异步方法中工作。

我的代码目前看起来像这样:

 private void button1_Click(object sender, EventArgs e) { label1.Text = "Test"; MyAsyncMethod(); } public async Task MyAsyncMethod() { await Task.Delay(2000); label1.Text = ""; } 

但这不起作用。

正如我所提到的,你的代码对我来说很好,但也许尝试将你的处理程序设置为async并在那里运行Task.Delay

上述就是C#学习教程:使用异步在线程中睡眠而不冻结分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 private async void Button_Click_1(object sender, RoutedEventArgs e) { label1.Text = "Test"; await Task.Delay(2000); label1.Text = ""; } 

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

ctvol管理联系方式QQ:251552304

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

(0)
上一篇 2021年11月26日
下一篇 2021年11月26日

精彩推荐