이벤트는 일부 프로그램 구성 요소에서 인식하고 응답할 코드를 작성할 수 있는 동작 또는 발생(예: 마우스 클릭 또는 크레딧 한도 초과)입니다. 이벤트 처리기는 이벤트에 응답하기 위해 작성하는 코드입니다.
Visual Basic의 이벤트 처리기는 프로시저입니다 Sub
. 그러나 일반적으로 다른 Sub
절차와 동일한 방식으로 호출하지는 않습니다. 대신 이벤트에 대한 처리기로 프로시저를 식별합니다. 절과 Handles
변수를 사용하거나 WithEvents
사용하여 이 작업을 수행할 수 있습니다. 절을 Handles
사용하는 것은 Visual Basic에서 이벤트 처리기를 선언하는 기본 방법입니다. 이는 IDE(통합 개발 환경)에서 프로그래밍할 때 디자이너가 이벤트 처리기를 작성하는 방식입니다. 이 AddHandler
문은 런타임에 이벤트를 동적으로 발생시키는 데 적합합니다.
이벤트가 발생하면 Visual Basic에서 이벤트 처리기 프로시저를 자동으로 호출합니다. 이벤트에 액세스할 수 있는 모든 코드는 RaiseEvent 문을 실행하여 이벤트를 발생시킬 수 있습니다.
둘 이상의 이벤트 처리기를 동일한 이벤트와 연결할 수 있습니다. 경우에 따라 이벤트에서 처리기를 분리할 수 있습니다. 자세한 내용은 이벤트참조하세요.
Handles 및 WithEvents를 사용하여 이벤트 처리기를 호출하세요.
이벤트가 Event Statement로 선언되었는지 확인합니다.
키워드를 사용하여 모듈 또는 클래스 수준에서 개체 변수를 선언합니다
WithEvents
. 이 변수의 절은As
이벤트를 발생시키는 클래스를 지정해야 합니다.이벤트 처리
Sub
프로시저 선언에 변수와 이벤트 이름을 지정하는Handles
절을 추가WithEvents
합니다.이벤트가 발생하면 Visual Basic에서 프로시저를 자동으로 호출합니다
Sub
. 코드는RaiseEvent
문을 사용하여 이벤트가 발생하도록 할 수 있습니다.다음 예제에서는 이벤트를 발생시키는 클래스를
WithEvents
참조하는 이벤트 및 변수를 정의합니다. 이벤트 처리Sub
프로시저는 절을Handles
사용하여 처리하는 클래스와 이벤트를 지정합니다.Public Class RaisesEvent Public Event SomethingHappened() Dim WithEvents happenObj As New RaisesEvent Public Sub ProcessHappen() Handles happenObj.SomethingHappened ' Insert code to handle somethingHappened event. End Sub End Class
AddHandler를 사용하여 이벤트 처리기 호출
이벤트가
Event
문으로 선언되었는지 확인하십시오.AddHandler 문을 실행하여 이벤트 처리 프로시저를
Sub
이벤트와 동적으로 연결합니다.이벤트가 발생하면 Visual Basic에서 프로시저를 자동으로 호출합니다
Sub
. 코드는RaiseEvent
문을 사용하여 이벤트가 발생하도록 할 수 있습니다.다음 예제에서는 생성자의 AddHandler 문을 사용하여 프로시저를
OnFormClosing
이벤트 처리기로 FormClosing연결합니다.Sub New() InitializeComponent() AddHandler Me.FormClosing, AddressOf OnFormClosing End Sub Private Sub OnFormClosing(sender As Object, e As FormClosingEventArgs) ' Insert code to deal with impending closure of this form. End Sub
RemoveHandler 문을 실행하여 이벤트 처리기를 이벤트에서 분리할 수 있습니다.
참고하십시오
.NET