C# 不卡屏延时方法,延迟系统时间,但系统又能同时能执行其它任务

//延迟系统时间,但系统又能同时能执行其它任务,不卡屏延时方法
public static void Delay(int milliSecond)
{
    int start = Environment.TickCount;
    while (Math.Abs(Environment.TickCount - start) < milliSecond)
    {
        Application.DoEvents();//转让控制权
    }
}