The normal way I'd done this:
vb Code:
Private Sub Beep()
'
End Sub
Private Sub CloseForm()
Me.Close()
End Sub
Private Sub WhateverElse()
' Whatever else
End Sub
Private Sub Button1_Click(ByVal sender As Object, e As EventArgs) Handles Button1.Click
Select Case TextBox1.Text
Case "1"
Beep()
Case "2"
CloseForm()
Case "3"
WhatEverElse()
End Select
End Sub
The awkwards way you'd want to do it:
vb Code:
Private currentHandler As EventHandler
Private Sub Beep(ByVal sender As Object, ByVal e As EventArgs)
'
End Sub
Private Sub CloseForm(ByVal sender As Object, ByVal e As EventArgs)
Me.Close()
End Sub
Private Sub WhateverElse(ByVal sender As Object, ByVal e As EventArgs)
' Whatever else
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
If Not (IsNothing(currentHandler)) Then
RemoveHandler Button1.Click, currentHandler
End If
Select Case TextBox1.Text
Case "1"
currentHandler = New EventHandler(AddressOf Me.Beep)
AddHandler Button1.Click, currentHandler
Case "2"
currentHandler = New EventHandler(AddressOf Me.CloseForm)
AddHandler Button1.Click, currentHandler
Case "3"
currentHandler = New EventHandler(AddressOf Me.WhateverElse)
AddHandler Button1.Click, currentHandler
End Select
End Sub