(Control-Related Events)
(built-in events) .
. VB IDE event handler, , (built-in) .
,
Events Properties.
(built-in) .
, VB IDE event handler
(code editor window).
, (default event). Click. (shortcut), VB IDE event handler (default)
.
:
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
End Sub
. ,
.
Windows VB IDE event handler:
Protected Sub
Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
WithEvents
, WithEvents . :
Public Class Class1
' - event
Public Event Subitie(ByVal
EventParam As Integer)
' (raise)
Public Sub
RaiseTheEvent(ByVal iEventNumber As Integer)
RaiseEvent Subitie(iEventNumber)
End Sub
End Class
Windows form, Class1
WithEvents :
Public WithEvents ev As Class1
VB IDE ev .
,
. , ev_Subitie.
( ):
Public Sub ev_Subitie(ByVal
EventParam As System.Integer) _
Handles ev.Subitie
MsgBox("Event raised:
" & EventParam)
End Sub
, Click ,
:
Protected Sub
Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Button1.Click
' Class1
ev = New Class1( )
' (Raise) (event)
ev.RaiseTheEvent(7)
End Sub
WithEvents
,
New :
Public WithEvents ev As New
Class1
.
AddHandler
AddHandler event handler
, .
(event handlers) . , (default event handler) Click :
Protected Sub
Form1_Click(ByVal sender As Object, ByVal e As _
System.EventArgs)
msgbox("Default Click
Event")
End Sub
default event handler:
Protected Sub
Frm1Click(ByVal sender As Object, ByVal e As _
System.EventArgs)
msgbox("Custom Click
Event")
End Sub
, Frm1Click Click, AddHandler:
AddHandler Form1.Click,
AddressOf Me.Frm1Click
:
AddHandler Form1.Click, New
EventHandler(AddressOf Me.Frm1Click)
, AddHandler :
AddHandler NameOfEventSender, AddressOf NameOfEventHandler
-
: ;
. : BLUE RED.
blue red.
delegatedemo:
Public Class delegatedemo
Delegate Function ColorValue(ByVal sMessage As String) As String
Public Function showcolor(ByVal clr As ColorValue, ByVal sMessage As
String) As String
' - invoke
return(clr.Invoke(sMessage))
End Function
End Class
delegatedemo, (delegate) ColorValue ShowColor.
, ColorValue , redMessage blueMessage,
.
(pointer) . multicast delegate, redMessage blueMessage.
, delegatedemo.
1 Imports
System.ComponentModelww.syngress.com
Imports System.Drawing
Imports System.WinForms
Public Class testform
Inherits
System.WinForms.Form
2 Protected Sub
cmdBlue_Click(ByVal sender As Object, ByVal e
As System.EventArgs)
3 Dim delMess As New
delegatedemo()
4 Dim sMessage As String
5
delmess.showcolor(AddressOf blueMessage, "Hello World B ")
6 msgbox(sMessage)
7 End Sub
8 Protected Sub cmdRed_Click(ByVal
sender As Object, ByVal e
As System.EventArgs)
9 Dim delMess As New
delegatedemo()
10 Dim sMessage As String
11
delmess.showcolor(AddressOf redMessage, "Hello World R")
12 msgbox(sMessage)
13 End Sub
14 Private Function
redMessage(ByVal sSmessage As String) As
String
' sSmessage 'red'.
15 return "RED "
& sSmessage
16 End Function
17 Private Function
blueMessage(ByVal sSmessage As String) As
String
'
sSmessage 'blue'.
18 return "Blue " &
sSmessage
19 End Function
20 End Class
delegatedemo.
, delegatedemo
redMessage blueMessage,
AddressOf . AddressOf
. :
delmess.showcolor(AddressOf
redMessage, "Hello World R")
AddressOf redMessage Visual Basic redMessage
.
.
2. delegatedemo showcolor ( 5) delegatedemo. blueMessage delegate .
.
(message box). delegate,
. . .
redMessage .