Custom event handler : Event « Event « VB.Net Tutorial

VB.Net Tutorial
1. Language Basics
2. Data Type
3. Operator
4. Statements
5. Date Time
6. Class Module
7. Development
8. Collections
9. Generics
10. Attributes
11. Event
12. Stream File
13. GUI
14. GUI Applications
15. 2D Graphics
16. I18N Internationlization
17. Reflection
18. Regular Expressions
19. Security
20. Socket Network
21. Thread
22. Windows
23. XML
24. Database ADO.net
25. Design Patterns
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
VB.Net Tutorial » Event » Event 
11. 1. 6. Custom event handler
 
 
Imports System.Collections
Delegate Sub NameChangedDelegate(ByVal new_name As String)

public class Test
   Private WithEvents emp As Employee
   public Shared Sub Main

        Dim emp As New Employee
        AddHandler emp.NameChanged, AddressOf Employee_NameChanged
        AddHandler emp.NameChanged, AddressOf Employee_NameChanged
        emp.FirstName = "Rod"
        RemoveHandler emp.NameChanged, AddressOf Employee_NameChanged
        emp.LastName = "Stephens"
        RemoveHandler emp.NameChanged, AddressOf Employee_NameChanged

   End Sub

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

End class

Public Class Employee
    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

    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

    Private m_EventDelegates As New ArrayList

    Public Delegate Sub NameChangedDelegate(ByVal new_name As String)

    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

        
  
  




AddHandler
AddHandler
RaiseEvent (Rod )
Employee_NameChanged: Rod+
Employee_NameChanged: Rod+
RemoveHandler
RaiseEvent (Rod Stephens)
Employee_NameChanged: Rod+Stephens
RemoveHandler

 
11. 1. Event
11. 1. 1. Raise Events
11. 1. 2. Multiple Event Handler
11. 1. 3. Event handler
11. 1. 4. Subclass EventArgs to create your own event arguments
11. 1. 5. Inherit Event
11. 1. 6. Custom event handler
11. 1. 7. WithEvents and Event method
11. 1. 8. Add and remove event handlerAdd and remove event handler
11. 1. 9. Handle events from more than one componentsHandle events from more than one components
11. 1. 10. Add, remove event handler to/from ToggleButtonAdd, remove event handler to/from ToggleButton
11. 1. 11. Use one method to handle more than one RadioButton click eventUse one method to handle more than one RadioButton click event
11. 1. 12. Get event sender typeGet event sender type
w_ww_.j_a___v___a___2_s.__co__m | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.