17 September 2014

VB.NET: Input Numeric Only

Input Numeric Only versi VB6

Berikut ini contoh code agar pada textbox (VB.NET) hanya dapat menginput nilai numerik dan simbol titik (.) sebagai pengganti koma untuk penulisan standard internasional
Contoh: 233.64

Buat desain kontrol sebagai berikut:

Input code pada event KeyPress:
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
            ByVal e As System.Windows.Forms.KeyPressEventArgs) _
            Handles TextBox1.KeyPress
    Select Case Microsoft.VisualBasic.Asc(e.KeyChar)
        Case Is < 32
        Case 46
            If InStr(TextBox1.Text, ".") <> 0 Then e.Handled = True
        Case 48 To 57
        Case Else
            e.Handled = True
    End Select
End Sub


Run dan coba menginputkan karakter pada texbox, maka karakter yang bisa diketikan hanya angka dan titik.
Untuk mencegak input bukan numerik dengan cara copy paste, tambahkan code berikut pada event TextChanged.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
                                 ByVal e As System.EventArgs) _
                                 Handles TextBox1.TextChanged
    If Not IsNumeric(TextBox1.Text) Then
        TextBox1.Text = 0
        TextBox1.SelectionStart = 0
        TextBox1.SelectionLength = TextBox1.TextLength
    End If
End Sub

Saat user mencoba copy paste nilai non numeric maka input akan selalu berubah menjadi 0.


Click here if you like this article.


0 comments: