글쎄, 내가 사용하고 궁금 해서요 Task.Delay
Application.DoEvents를 사용하는 것이 더 낫습니다?Application.DoEvents 대신 Task.Delay 사용
샘플 코드 :
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();
}
}
그래서 방법은 i'v가 모든 보류중인 이벤트을 발표하기 때문에 Application.DoEvents를 사용하여 오류가 발생할 수 있음을 들었다고 특별히 (더 낫다 응용 프로그램에 포함될 수 있음)
위 항목 중 하나가 아닙니다. 타이머를 사용하십시오. 그리고 작동하지 않는 Visible 속성을 수정하지 마십시오. Opacity 속성을 디자이너에서 0으로 설정하고 Tick 이벤트 처리기에서 0.99로 변경합니다. 1.0이 아닙니다. –
지금까지의 답변은 (1) 실제 문제를 수정했습니다. (2) 결코 바쁘지 않습니다. (3) DoEvents는 비동기를 달성하는 좋은 방법이 아닙니다. DoEvents 스타일의 프로그래밍에 대한 더 긴 비판에 대해서는 적절한 비동기 대 MSDN Magazine의 주제에 대한 필자의 기사를 참조하십시오. http://msdn.microsoft.com/en-us/magazine/hh456401.aspx –