Rabu, 24 Desember 2014

Membatasi Huruf diInput 2 kali atau lebih pada Textbox dengan VB.NET

Dalam pemograman, kadang-kadang kita diwajibkan untuk membatasi penginputan huruf yang sama dalam sebuah textbox. Contoh : Angka pemisah desimal (koma) hanya boleh diinput 1 kali dalam penulisan harga atau quantity barang. Dengan menggunakan pemograman VB.NET, kita cukup menggunakan event KeyPress pada textbox yang bersangkutan. Berikut source code nya :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    'JIKA TEXTBOX SUDAH MEMILIKI HURUF PEMISAH DESIMAL
    If Me.TextBox1.Text.Contains(System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator) = True Then
        'JIKA YG DITEKAN ADALAH HURUF PEMISAH RIBUAN ATAU DESIMAL
        If e.KeyChar = System.Globalization.NumberFormatInfo.CurrentInfo.NumberGroupSeparator OrElse _
        e.KeyChar = System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator Then
            e.Handled = True 'STOP INPUT
        Else
            e.Handled = False 'LANJUTKAN INPUT
        End If
    Else 'JIKA BELUM
        'JIKA YG DITEKAN ADALAH HURUF PEMISAH RIBUAN ATAU DESIMAL
        If e.KeyChar = System.Globalization.NumberFormatInfo.CurrentInfo.NumberGroupSeparator OrElse _
        e.KeyChar = System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator Then
            'UBAH HURUF TERSEBUT MENJADI HURUF PEMISAH DESIMAL
            e.KeyChar = CChar(System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator)
        End If
    End If
End Sub

Tidak ada komentar:

Posting Komentar