2013년 7월 18일 목요일

[C#] DoEvent

Application.DoEvents();
현재 메시지 큐에 있는 모든 Windows 메시지를 처리합니다.

응용프로그램을 만들고 폼의 빠른 업데이트를 화면을 보고 싶을때.
버퍼에 쌓여 있는 처리내용을 강제로 뿌려주는 명령어 입니다.

MSDN : 설명

Windows Form을 실행하는 경우 새 폼이 만들어진 다음, 이벤트가 처리될 때까지 대기합니다. 폼에서 이벤트를 처리할 때마다 해당 이벤트와 관련된 모든 코드가 처리됩니다. 다른 모든 이벤트는 큐에서 대기합니다. 코드에서 이벤트를 처리하는 동안 응용 프로그램은 응답하지 않습니다. 예를 들어, 다른 창을 해당 창의 위쪽으로 끌 때 해당 창은 다시 그려지지 않습니다.
코드에서 DoEvents를 호출하면 응용 프로그램에서는 다른 이벤트를 처리할 수 있습니다. 예를 들어, ListBox에 데이터를 추가하고 코드에 DoEvents를 추가하는 폼이 있는 경우 다른 창을 폼 위로 끌 때 폼이 다시 그려집니다. 코드에서 DoEvents를 제거하면 단추의 클릭 이벤트 처리기 실행이 완료된 후에 폼이 다시 그려집니다.
Visual Basic 6.0과 달리 DoEvents 메서드는 Thread.Sleep 메서드를 호출하지 않습니다.

일반적으로 루프에서 이 메서드를 사용하여 메시지를 처리합니다.

댓글 없음:

댓글 쓰기

문의하기

이름

이메일 *

메시지 *