Raise your own event : RaiseEvent « Event « VB.Net Tutorial

Home
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.LINQ
13.Stream File
14.GUI
15.GUI Applications
16.Windows Presentation Foundation
17.2D Graphics
18.I18N Internationlization
19.Reflection
20.Regular Expressions
21.Security
22.Socket Network
23.Thread
24.Windows
25.XML
26.Database ADO.net
27.Design Patterns
VB.Net
VB.Net by API
VB.Net Tutorial » Event » RaiseEvent 
11.4.1.Raise your own event
Option Strict On

Public Class Tester
   Dim WithEvents Shared acct As Account

   Public Shared Sub Main()
      Dim warning As MyEventHander = AddressOf Display

      Dim bal As Decimal
      acct = New Account(200.00d)
      
      bal = acct.Deposit(0.00d)

      bal = acct.Debit(400.00d)

      bal = acct.Debit(5000.00d)


   End Sub

   Friend Shared Sub Display(sender As Object,e As MyEventArgs)
      Console.WriteLine("Warning: The balance of {0} has fallen below {1}.", _
                        e.balance, e.WarningLevel)
   End Sub
End Class



Public Class MyEventArgs : Inherits EventArgs
   Private level As Decimal
   Private current As Decimal

   Public Sub New(warningLevel As Decimal, currentBalance As Decimal)
      Me.level = warningLevel
      Me.current = currentBalance
   End Sub

   Public ReadOnly Property WarningLevel As Decimal
      Get
         Return level
      End Get
   End Property

   Public ReadOnly Property Balance As Decimal
      Get
         Return current
      End Get
   End Property
End Class

Public Delegate Sub MyEventHander(sender As Object, _
                                      As MyEventArgs)

Public Class Account
   Private warningLevel As Decimal
   Private balance As Decimal

   Public Event MyEvent As MyEventHander
   
   Public Sub New(warningLevel As Decimal)
      Me.warningLevel = warningLevel
   End Sub

   Public Function Deposit(amount As DecimalAs Decimal
      balance += amount

      RaiseEvent MyEvent(Me, _
                    New MyEventArgs(warningLevel, balance))
      Return balance
   End Function

   Public Function Debit(amount As DecimalAs Decimal
      balance -= amount

      RaiseEvent MyEvent(Me, _
                    New MyEventArgs(warningLevel, balance))
      Console.WriteLine("raised")
      Return balance
   End Function
End Class
raised
raised
11.4.RaiseEvent
11.4.1.Raise your own event
11.4.2.Define your own Event and raise it
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.