Visual Basic에서 이벤트 처리기를 호출하는 방법
이벤트는 일부 프로그램 구성 요소에서 인식하고 응답할 코드를 작성할 수 있는 동작 또는 발생(예: 마우스 클릭 또는 크레딧 한도 초과)입니다. 이벤트 처리기는 이벤트에 응답하기 위해 작성하는 코드입니다.
Visual Basic의 이벤트 처리기는 Sub
프로시저입니다. 그러나 일반적으로 다른 Sub
프로시저와 동일한 방식으로 호출하지는 않습니다. 대신 프로시저를 이벤트 처리기로 식별합니다. Handles
절과 WithEvents
변수 또는 AddHandler 문을 사용하여 이 작업을 수행할 수 있습니다. Handles
절을 사용하는 것이 Visual Basic에서 이벤트 처리기를 선언하는 기본 방법입니다. 이는 IDE(통합 개발 환경)에서 프로그래밍할 때 디자이너가 이벤트 처리기를 작성하는 방식입니다. 이 AddHandler
문은 런타임에 동적으로 이벤트를 발생시키는 데 적합합니다.
이벤트가 발생하면 Visual Basic에서 이벤트 처리기 프로시저를 자동으로 호출합니다. 이벤트에 액세스할 수 있는 모든 코드는 RaiseEvent 문을 실행하여 이벤트가 발생하도록 할 수 있습니다.
둘 이상의 이벤트 처리기를 동일한 이벤트에 연결할 수 있습니다. 경우에 따라 이벤트에서 처리기를 분리할 수 있습니다. 자세한 내용은 Events을 참조하세요.
Handles 및 WithEvents을(를) 사용하여 이벤트 처리기 호출
이벤트 문으로 이벤트가 선언되었는지 확인합니다.
WithEvents
키워드를 사용하여 모듈 또는 클래스 수준에서 개체 변수를 선언합니다. 이 변수의As
절은 이벤트를 발생시키는 클래스를 지정해야 합니다.이벤트 처리
Sub
프로시저의 선언에서WithEvents
변수 및 이벤트 이름을 지정하는Handles
절을 추가합니다.이벤트가 발생하면 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