• We just launched and are currently in beta. Join us as we build and grow the community.

NumberBox Toolbox Item

SrJavaEdit

Rogue Agent
S Rep
0
0
0
Rep
0
S Vouches
0
0
0
Vouches
0
Posts
136
Likes
148
Bits
2 MONTHS
2 2 MONTHS OF SERVICE
LEVEL 1 400 XP
This textbox desined for currency or decimal numbers

Number Property for .text property version contains a number

DecimalNumber property for decimal places

CurrencySymbol property for currency symbol :)

Note : this code changed vb 2010 to 2008

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms

Public Class NumberBox

'Miras olarak normal Textbox özelliklerini alıyor.
Inherits TextBox

'Properties penceresindeki değerleri kontrol eden değişkenler

Private numberValue As Decimal
Private decimalValue As Integer
Private currencySymbolValue As String

Public Property Number() As Decimal
'bu Property Sayıkutusuna girilen bilgilerin ham ve formatsız halini barındırıyor
'Veritabanı kayıtlarında veya matematiksel işlemlere tabi tutarken kullanılabilecek özellik.
Get
Return numberValue
End Get
Set(ByVal value As Decimal)
numberValue = value
Try

'SayıKutusu terk edilirken yazılan rakamlar formatlanıyor

Dim dTmp As Decimal
dTmp = Convert.ToDecimal(Me.Number.ToString())
Me.Text = dTmp.ToString("N" + DecimalNumber.ToString)
'parabirimi seçilmişse formatın ardına ekleniyor

If currencySymbol <> "" Then
Me.Text = Me.Text + " " + currencySymbol
End If
Catch

End Try
End Set
End Property
Public Property DecimalNumber() As Integer
'bu Property Sayıkutusuna girilen sayının kaç ondalık hane içerceğini belirlemeye yarıyor.
Get
Return decimalValue
End Get
Set(ByVal value As Integer)
decimalValue = value
End Set
End Property
Public Property CurrencySymbol() As String
'Eğer girilen bilginin sonunda herhangi bir parabirimi isteniyorsa o işareti barındıran property

Get
Return currencySymbolValue
End Get
Set(ByVal value As String)
currencySymbolValue = value
End Set
End Property

Public Sub New()

InitializeComponent()

Me.CausesValidation = True
numberValue = 0

End Sub

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
End Sub

Private Sub SayiKutusu_KeyPress(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
'Basılan karakterlerin sayı olup olmadığı veya kuruşlu sayı girişi yapılacaksa daha önceden virgül
'kullanılıp kullanılmadığı kontrol ediliyor
If Not Char.IsDigit(e.KeyChar) And Not Char.IsControl(e.KeyChar) _
And e.KeyChar <> "," Then
e.Handled = True
End If

If e.KeyChar = "," And Me.Text.Contains(",") Then
e.Handled = True
End If

If e.KeyChar = "," And Me.Text.Length < 1 Then
e.Handled = True
End If

End Sub

Private Sub SayiKutusu_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Validated

Try

'SayıKutusu terk edilirken yazılan rakamlar formatlanıyor

Dim dTmp As Decimal
dTmp = Convert.ToDecimal(Me.Text.ToString())
Me.Text = dTmp.ToString("N" + DecimalNumber.ToString)
'parabirimi seçilmişse formatın ardına ekleniyor

If currencySymbol <> "" Then
Me.Text = Me.Text + " " + CurrencySymbol
End If
Catch

End Try

End Sub

Private Sub SayiKutusu_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Click
'Sayıkutusuna tıklandığında verilerin ham hali kutuya aktarılıyor
Me.Text = numberValue.ToString()

'Sayıkutusu boş ise temizleniyor.
If Me.Text = "0,00" Then
Me.Clear()
End If

'tamamı seçili hale getiriliyor
Me.SelectAll()

End Sub

Private Sub SayiKutusu_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.TextChanged

Try
'Kutuya girilen her bilgi eş zamanlı olarak sayı propertysine aktarılıyor.

Dim strValue = Me.Text

If (Me.Text.Length = 0) Then
numberValue = 0
Else
numberValue = Decimal.Parse(Me.Text.Replace(" ", ""), _
Globalization.NumberStyles.AllowThousands Or _
Globalization.NumberStyles.AllowDecimalPoint)
End If

Catch

End Try

End Sub

End Class

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.

FOR YOUR OWN SAFETY, PLEASE:

1. Re-scan downloaded files using your personal virus checker before using it.

2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

 

452,292

323,526

323,535

Top