다음을 통해 공유


RemoveHandler 문

이벤트와 이벤트 처리기 간의 연결을 제거합니다.

문법

RemoveHandler event, AddressOf eventhandler  

부분

기간 정의
event 처리 중인 이벤트의 이름입니다.
eventhandler 현재 이벤트를 처리하는 프로시저의 이름입니다.

비고

AddHandlerRemoveHandler 문을 사용하면 프로그램 실행 중에 언제든지 특정 이벤트에 대한 이벤트 처리를 시작하고 중지할 수 있습니다.

비고

사용자 지정 이벤트의 경우 이 문은 RemoveHandler 이벤트의 RemoveHandler 접근자를 호출합니다. 사용자 지정 이벤트에 대한 자세한 내용은 Event Statement를 참조하세요.

예시

Public Class DataBindingExample
    Private textBox1 As TextBox
    Private ds As DataSet
    
    Public Sub New()
        textBox1 = New TextBox()
        ds = New DataSet()
        SetupSampleData()
        BindControlWithAddHandler()
    End Sub
    
    Private Sub SetupSampleData()
        Dim table As New DataTable("Orders")
        table.Columns.Add("OrderAmount", GetType(Decimal))
        table.Rows.Add(123.45D)
        table.Rows.Add(67.89D)
        ds.Tables.Add(table)
    End Sub
    
    Private Sub BindControlWithAddHandler()
        Dim binding As New Binding("Text", ds, "Orders.OrderAmount")
        
        ' Use AddHandler to associate ConvertEventHandler delegates
        AddHandler binding.Format, AddressOf DecimalToCurrency
        AddHandler binding.Parse, AddressOf CurrencyToDecimal
        
        textBox1.DataBindings.Add(binding)
    End Sub
    
    Private Sub DecimalToCurrency(ByVal sender As Object, ByVal e As ConvertEventArgs)
        If e.DesiredType IsNot GetType(String) Then
            Return
        End If
        e.Value = CDec(e.Value).ToString("c")
    End Sub
    
    Private Sub CurrencyToDecimal(ByVal sender As Object, ByVal e As ConvertEventArgs)
        If e.DesiredType IsNot GetType(Decimal) Then
            Return
        End If
        e.Value = Convert.ToDecimal(e.Value.ToString())
    End Sub
End Class

' Simple example for basic AddHandler usage
Sub TestBasicEvents()
    Dim Obj As New Class1
    AddHandler Obj.Ev_Event, AddressOf EventHandler
    Obj.CauseSomeEvent()
    RemoveHandler Obj.Ev_Event, AddressOf EventHandler
    Obj.CauseSomeEvent()
    
    ' Lambda expression example
    AddHandler Obj.Ev_Event, Sub ()
        MsgBox("Lambda caught event.")
    End Sub
    Obj.CauseSomeEvent()
End Sub

Sub EventHandler()
    MsgBox("EventHandler caught event.")
End Sub

Public Class Class1
    Public Event Ev_Event()
    Sub CauseSomeEvent()
        RaiseEvent Ev_Event()
    End Sub
End Class

참고하십시오