Imports
System.ComponentModel
Module Module1
Sub Main()
Dim number
As New MaskedNumberProvider("999,999,999,999.99")
Console.WriteLine("Adding")
For i
As Integer = 1 To
12
Dim temp
AsChar()
temp = i.ToString.ToCharArray()
number.Add(temp(temp.Length - 1))
Console.WriteLine(number)
Next
Console.WriteLine("Removing")
For i
As Integer = 1 To
11
number.Remove()
Console.WriteLine(number)
Next
EndSub
EndModule
Class
MaskedNumberProvider
Inherits
MaskedTextProvider
PublicSubNew(ByVal
mask As String)
MyBase.New(mask)
EndSub
Public Overloads
Function Add(ByVal input
As Char) AsBoolean
Dim current
AsString
current = Me.ToString(False,
False)
current = current.PadLeft(Me.EditPositionCount)
current = current.Substring(1,
Me.EditPositionCount - 1)
current = current + input
Return Me.Set(current)
End Function
Public Overloads
Function Remove() As Boolean
Dim current
As String
current = Me.ToString(False,
False)
current = current.Substring(0,
Me.EditPositionCount - 1)
current = current.PadLeft(Me.EditPositionCount)
Return Me.Set(current)
End Function
Public Overrides
Function ToString() As String
Dim result
As String
result = MyBase.ToString()
result = result.Replace("
" + _
Me.Culture.NumberFormat.NumberGroupSeparator,
" ")
Return result
End Function
End Class