那么我想知道使用Task.Delay
比使用 Application.DoEvents 更好吗?
示例代码:
private async void NonBlockingWaitAwhile(int milliseconds)
{
Stopwatch sWatch = Stopwatch.StartNew();
while (sWatch.Elapsed.Milliseconds <= milliseconds)
{
await Task.Delay(50);
}
}
或者
private void WaitAwhile(int milliseconds)
{
Stopwatch sWatch = Stopwatch.StartNew();
while (sWatch.Elapsed.Milliseconds <= milliseconds)
{
Application.DoEvents();
}
}
那么哪种方法更好(特别是我听说使用 Application.DoEvents 可能会导致错误,因为它会释放应用程序可能执行的所有未决事件)