-1

hi everyone.

can someone teach me how to validate the textbox in vb.net?

that the textbox can only accept numeric only.

and the other textbox can only accept alphanumeric only.


much thanks.

3
Contributors
4
Replies
5
Views
7 Years
Discussion Span
Last Post by vinnijain
-1

try this code:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    e.Handled = NumbersOnly(e.KeyChar, TextBox1)
    End Sub
    Private Function NumbersOnly(ByVal pstrChar As Char, ByVal oTextBox As TextBox) As Boolean
    'validate the entry for a textbox limiting it to only numeric values and the decimal point
    If (Convert.ToString(pstrChar) = "." And InStr(oTextBox.Text, ".")) Then Return True 'accept only one instance of the decimal point
    If Convert.ToString(pstrChar) <> "." And pstrChar <> vbBack Then
    Return IIf(IsNumeric(pstrChar), False, True) 'check if numeric is returned
    End If
    Return False 'for backspace
    End Function
-1

Try the following code for alphanumerics only

protected override void OnKeyDown(KeyEventArgs e) 
        { 
            Keys k = e.KeyCode; 
            if (k == Keys.Back) 
            { 
                this.isBack =  true; 
                this.isAlphaNum = false; 
            } 
            else 
            { 
                bool isAlpha = !e.Alt && !e.Control && (k >= Keys.A && k <= 
Keys.Z); 
                // Determine whether the keystroke is a number 
                bool d0d9 = k >= Keys.D0 && k <= Keys.D9; 
                bool numpad = k >= Keys.NumPad0 && k <= Keys.NumPad9; 
                bool isNumber = (!e.Alt && !e.Control && !e.Shift) && (d0d9 
|| numpad); 
                this.isBack = false; 
                this.isAlphaNum = isAlpha || isNumber; 
            } 
            base.OnKeyDown(e); 
        } 
        protected override void OnKeyPress(KeyPressEventArgs e) 
        { 
            if (!this.isBack && !this.isAlphaNum) 
            { 
                e.Handled = true; 
                return; 
            } 
            char c = e.KeyChar; 
            if (this.isBack && this.SelectionStart > 0) 
            { 
                int currentPosition = SelectionStart; 
                this.Text = this.Text.Substring(0, this.TextLength - 1); 
                this.SelectionStart = currentPosition - 1; 
                e.Handled = true; 
                return; 
            } 
            if (this.isAlphaNum && this.SelectionStart < this.MaxLength) 
            { 
                int currentPosition = SelectionStart; 
                this.Text = this.Text.Insert(currentPosition, 
Char.ToUpper(c).ToString()); 
                this.SelectionStart = currentPosition + 1; 
                e.Handled = true; 
                return; 
            } 
            base.OnKeyPress(e); 
        }
-1

try this code:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    e.Handled = NumbersOnly(e.KeyChar, TextBox1)
    End Sub
    Private Function NumbersOnly(ByVal pstrChar As Char, ByVal oTextBox As TextBox) As Boolean
    'validate the entry for a textbox limiting it to only numeric values and the decimal point
    If (Convert.ToString(pstrChar) = "." And InStr(oTextBox.Text, ".")) Then Return True 'accept only one instance of the decimal point
    If Convert.ToString(pstrChar) <> "." And pstrChar <> vbBack Then
    Return IIf(IsNumeric(pstrChar), False, True) 'check if numeric is returned
    End If
    Return False 'for backspace
    End Function

is "e" a class? where should i declare it? thanks

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.