본문 바로가기
프로그래밍/C#

[C#] Delay 함수. Thread Sleep 대신 쓸만함.

by JR2 2021. 3. 16.

www.bluene.net/blog/550

 

블루네군 블로그 :: C# Delay 함수

 

www.bluene.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private void button1_Click(object sender, EventArgs e)
        {
            Delay(1000);
            MessageBox.Show("1초후에 메세지박스");
            Delay(3000);
            MessageBox.Show("3초후에 메세지박스");
            Delay(5000);
            MessageBox.Show("5초후에 메세지박스");
        }
        
 
/// <summary>
/// Delay 함수 MS
/// </summary>
/// <param name="MS">(단위 : MS)
///
private static DateTime Delay(int MS)
{
   DateTime ThisMoment = DateTime.Now;
   TimeSpan duration = new TimeSpan(0000, MS);
   DateTime AfterWards = ThisMoment.Add(duration);
 
   while (AfterWards >= ThisMoment)
   {
       System.Windows.Forms.Application.DoEvents();
       ThisMoment = DateTime.Now;
   }
 
   return DateTime.Now;
}
cs

 

Thread.Sleep 사용해봤다면 알다시피, 폼이 무용지물이 되어버린다.

그래서 구글링을 하던중, 이런 엄청난 코드를 발견하게 되서 공유합니다.

 

 

test.zip
0.19MB

댓글