다음을 통해 공유


My.Application.DoEvents 메서드

업데이트: 2007년 11월

현재 메시지 큐에 있는 모든 Windows 메시지를 처리합니다.

' Usage
My.Application.DoEvents()
' Declaration
Public Sub DoEvents()

설명

My.Application.DoEvents 메서드를 사용하여 응용 프로그램에서 코드를 실행하는 동안 발생할 수도 있는 다른 이벤트를 처리할 수 있습니다. My.Application.DoEvents 속성의 동작은 DoEvents 속성의 동작과 동일합니다.

Windows Forms 응용 프로그램을 실행하면 새 폼이 만들어지고 처리할 이벤트를 기다립니다. 폼이 단추 클릭과 같은 이벤트를 처리할 때마다 해당 이벤트에 연결된 모든 코드를 처리합니다. 다른 모든 이벤트는 큐에서 대기합니다. 코드에서 이벤트를 처리하는 동안에는 응용 프로그램이 응답하지 않습니다. 예를 들어, 다른 창을 맨 위로 끌면 창이 다시 그려지지 않습니다.

코드에 있는 My.Application.DoEvents를 호출하는 경우 응용 프로그램은 다른 이벤트를 처리할 수 있습니다. 예를 들어, 코드에서 루프의 ListBox에 데이터를 추가하고 루프의 각 단계를 수행한 후 My.Application.DoEvents를 호출한 경우 다른 창을 위로 끌면 폼이 다시 그려집니다. 코드에서 My.Application.DoEvents를 제거하면 단추의 클릭 이벤트 처리기가 실행을 마친 후에 폼이 다시 그려집니다.

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

참고:

My.Application.DoEvents 메서드는 폼이 수행하는 방식과 동일하게 이벤트를 처리하지 않습니다. 다중 스레딩을 사용하여 폼에서 이벤트를 직접 처리할 수 있습니다. 자세한 내용은 Visual Basic의 다중 스레딩을 참조하십시오.

주의:

UI(사용자 인터페이스) 이벤트를 처리하는 메서드가 My.Application.DoEvents 메서드를 호출하면 작업 수행을 마치기 전에 메서드는 다시 입력될 수도 있습니다. 이는 My.Application.DoEvents 메서드가 Windows 메시지를 처리하기 때문에 발생할 수 있으며 Windows 메시지에서 이벤트를 발생시킬 수 있습니다.

작업

다음 표에서는 My.Application.DoEvents 메서드와 관련된 작업 예를 보여 줍니다.

작업

참조

폼이 사용 중일 때 UI 입력에 응답할 수 있도록 허용

연습: 이벤트 처리

예제

이 예제에서는 My.Application.DoEvents 메서드를 사용하여 TextBox1에 대한 UI(사용자 인터페이스)를 업데이트합니다.

Private Sub TestDoEvents()
    For i As Integer = 0 To 10000
        TextBox1.Text = i.ToString
        My.Application.DoEvents()
    Next
End Sub

이 코드는 Text 속성과 함께 TextBox1 구성 요소가 있는 폼 내에 있어야 합니다.

요구 사항

네임스페이스:Microsoft.VisualBasic.ApplicationServices

클래스:WindowsFormsApplicationBase

어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

프로젝트 형식별 사용 가능 여부

프로젝트 형식

사용 가능 여부

Windows 응용 프로그램

클래스 라이브러리

아니요

콘솔 응용 프로그램

아니요

Windows 컨트롤 라이브러리

아니요

웹 컨트롤 라이브러리

아니요

Windows 서비스

아니요

웹 사이트

아니요

권한

다음과 같은 사용 권한이 필요합니다.

권한

설명

FileIOPermission

파일 및 폴더에 대한 액세스 가능성을 제어합니다. 연관된 열거형: Unrestricted

UIPermission

사용자 인터페이스 및 클립보드와 관련된 권한을 제어합니다. 연관된 열거형: AllWindows

자세한 내용은 코드 액세스 보안권한 요청을 참조하십시오.

참고 항목

참조

My.Application 개체

WindowsFormsApplicationBase.DoEvents

DoEvents