프로시저가 지정된 이벤트를 처리한다고 선언합니다.
문법
proceduredeclaration Handles eventlist
부분
proceduredeclaration
Sub 이벤트를 처리할 프로시저에 대한 프로시저 선언입니다.
eventlist 처리할 proceduredeclaration 이벤트 목록으로, 쉼표로 구분됩니다. 이벤트는 현재 클래스의 기본 클래스 또는 키워드를 사용하여 WithEvents 선언된 개체에 의해 발생해야 합니다.
비고
Handles 프로시저 선언의 끝에 있는 키워드를 사용하여 키워드를 사용하여 WithEvents 선언된 개체 변수에 의해 발생한 이벤트를 처리하도록 합니다. 키워드는 Handles 파생 클래스에서 기본 클래스의 이벤트를 처리하는 데 사용할 수도 있습니다.
Handles 키워드와 AddHandler 문은 모두 특정 프로시저가 특정 이벤트를 처리하도록 지정할 수 있지만 차이점이 있습니다. 프로시저를 Handles 정의할 때 키워드를 사용하여 특정 이벤트를 처리하도록 지정합니다. 이 문은 AddHandler 런타임에 프로시저를 이벤트에 연결합니다. 자세한 내용은 AddHandler 문을 참조하세요.
사용자 지정 이벤트의 경우 애플리케이션은 프로시저를 이벤트 처리기로 추가할 때 이벤트의 AddHandler 접근자를 호출합니다. 사용자 지정 이벤트에 대한 자세한 내용은 Event Statement를 참조하세요.
예제 1
Public Class ContainerClass
' Module or class level declaration.
WithEvents Obj As New Class1
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class
Sub EventHandler() Handles Obj.Ev_Event
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
' Call the TestEvents procedure from an instance of the ContainerClass
' class to test the Ev_Event event and the event handler.
Public Sub TestEvents()
Obj.CauseSomeEvent()
End Sub
End Class
다음 예제에서는 파생 클래스에서 기본 클래스에서 이벤트를 처리 하는 문을 사용 Handles 하는 방법을 보여 줍니다.
Public Class BaseClass
' Declare an event.
Event Ev1()
End Class
Class DerivedClass
Inherits BaseClass
Sub TestEvents() Handles MyBase.Ev1
' Add code to handle this event.
End Sub
End Class
예제 2
다음 예제에서는 WPF 애플리케이션 프로젝트에 대 한 두 개의 단추 이벤트 처리기를 포함 합니다.
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
예제 3
다음 예제는 이전 예제와 동일합니다.
eventlist 절에 Handles 두 단추에 대한 이벤트가 포함됩니다.
Private Sub Button_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click, Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
참고하십시오
.NET