Transmiterea mesajului asociat unui eveniment definit in VB.NET

1 comment - This post in english

Aparitia unui eveniment si transmiterea mesajul asociat acestuia se realizeaza prin specificatia RaiseEvent.
Specificatia RaiseEvent este utilizata doar pentru evenimente declarate explicit.

Utilizarea specificatiei RaiseEvent este exemplificata in urmatoarea secventa de cod sursa VB.NET:

Module Module1
'definire handler de eveniment
Public Sub OpDiferenta(ByVal a As Integer, ByVal b As Integer)
    Dim dif As Integer
    dif = a - b
    MsgBox("Diferenta este: " & CStr(dif))
End Sub
 
'definirea unui eveniment
 Public Event Calcul(ByVal x As Integer, ByVal y As Integer)
 
'definire procedura de asociere eveniment-handler eveniment
Public Sub SetUpEventHandlerDif(ByVal a As Integer, ByVal b As Integer)
    AddHandler Calcul, AddressOf OpDiferenta
End Sub
 
Sub Main()
 
    Dim x As Integer
    Dim y As Integer
    x = 10
    y = 8
    If x > y Then
        SetUpEventHandlerDif(x, y)
    End If
 
    'apelul nr. 1 al handler-ului de eveniment
    RaiseEvent Calcul(x, y)
 
    'apelul nr. 2 al handler-ului de eveniment
    RaiseEvent Calcul(x, y)
 
End Sub
End Module

Exemplul anterior defineste evenimentul Calcul, handler-ul de eveniment OpDiferenta si asocierea dintre eveniment si handlerul de eveniment prin procedura Sub denumita SetUpEventHandlerDif.
Proiectul VB.NET creat este de tip Console Application, fiind prezenta procedura Main in cadrul modulului creat implicit de Visual Studio.
In procedura Main sunt definite doua variabile de tip Integer, se asociaza evenimentul cu handler-ul daca este indeplinita conditia x>y si se transmite de doua ori mesajul asociat evenimentului prin specificatia RaiseEvent. Astfel, se apeleaza de doua ori handler-ul de eveniment OpDiferenta.

, , , , , , , ,


  1. No comments yet.
(will not be published)