Use Delegate to react to an Event : Event « Development « VB.Net

VB.Net
1. 2D
2. Application
3. Class
4. Data Structure
5. Database ADO.net
6. Development
7. Event
8. File Directory
9. Generics
10. GUI
11. Language Basics
12. Network Remote
13. Thread
14. Windows System
15. XML
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net Tutorial
VB.Net » Development » EventScreenshots 
Use Delegate to react to an Event
Use Delegate to react to an Event

Imports System
Imports System.Collections

Delegate Sub NameChangedDelegate(ByVal new_name As String)

Public Class MainClass
    
    Shared Sub Main(ByVal args As String())
        Dim student As New Student
        AddHandler student.NameChanged, AddressOf Student_NameChanged
        AddHandler student.NameChanged, AddressOf Student_NameChanged
        student.FirstName = "First Name"
        RemoveHandler student.NameChanged, AddressOf Student_NameChanged
        student.LastName = "Last Name"
        RemoveHandler student.NameChanged, AddressOf Student_NameChanged
    End Sub
    Private WithEvents student As Student

    Shared Private Sub Student_NameChanged(ByVal new_name As StringHandles student.NameChanged
        Console.WriteLine("Student_NameChanged: " & new_name)
    End Sub

    
End Class
  
Public Class Student
    ' The FirstName property.
    Private m_FirstName As String
    Public Property FirstName() As String
        Get
            Return m_FirstName
        End Get
        Set(ByVal value As String)
            m_FirstName = value
            RaiseEvent NameChanged(m_FirstName & " " & m_LastName)
        End Set
    End Property

    ' The LastName property.
    Private m_LastName As String
    Public Property LastName() As String
        Get
            Return m_LastName
        End Get
        Set(ByVal value As String)
            m_LastName = value
            RaiseEvent NameChanged(m_FirstName & " " & m_LastName)
        End Set
    End Property

    ' List to hold the event handler delegates.
    Private m_EventDelegates As New ArrayList

    ' Defines the event handler signature.
    Public Delegate Sub NameChangedDelegate(ByVal new_name As String)

    ' Define the custom NameChanged event.
    Public Custom Event NameChanged As NameChangedDelegate
        AddHandler(ByVal value As NameChangedDelegate)
            Console.WriteLine("AddHandler")
            m_EventDelegates.Add(value)
        End AddHandler

        RemoveHandler(ByVal value As NameChangedDelegate)
            Console.WriteLine("RemoveHandler")
            m_EventDelegates.Remove(value)
        End RemoveHandler

        RaiseEvent(ByVal new_name As String)
            Console.WriteLine("RaiseEvent (" & new_name & ")")
            For Each a_delegate As NameChangedDelegate In m_EventDelegates
                a_delegate(new_name.Replace(" ""+"))
            Next a_delegate
        End RaiseEvent
    End Event
End Class

           
       
Related examples in the same category
1. Define and fire eventDefine and fire event
w__w__w.ja___v__a__2___s.__c_o__m_ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.