본문 바로가기
IT-개발,DB

c# delay 함수 / C# Delay function

by SB리치퍼슨 2010. 9. 10.

방법 1.
 Environment.TickCount를 사용하는 방법

        public void Delay(int ms)
        {
            int time = Environment.TickCount;

            do
            {
                if (Environment.TickCount - time >= ms)
                    return;
            } while (true);
        }

방법 2.
 DateTime 관련 함수를 이용하는 방법

public static DateTime PauseForMilliSeconds( int MilliSecondsToPauseFor )
{
    System.DateTime ThisMoment  = System.DateTime.Now;
    System.TimeSpan duration    = new System.TimeSpan( 0, 0, 0, 0, MilliSecondsToPauseFor );
    System.DateTime AfterWards  = ThisMoment.Add( duration );
   
    while ( AfterWards >= ThisMoment )
    {
            System.Windows.Forms.Application.DoEvents();
            ThisMoment = System.DateTime.Now;
    }
   
    return System.DateTime.Now;
}

방법 3.
 방법 2와 비슷하게 DateTime을 이용하여 시간 비교

private void dealTimer()
{
    DateTime dt1 = DateTime.Now;
    int diff = 0;

    while (diff < 1)
    {

        DateTime dt2 = DateTime.Now;
        TimeSpan ts = dt2.Subtract(dt1);
        diff = (int)ts.TotalSeconds;
        Application.DoEvents();

    }
}

반응형

댓글