La Web del Programador: Comunidad de Programadores
 
    Pregunta:  41439 - COMO HAGO QUE UN TEXTBOX ACEPTE SOLO NUMEROS?
Autor:  Enrique Vargas
El textbox, solo debe de aceptar numeros, Gracias.

  Respuesta:  Martin Julian Diaz Diaz
Solo tienes que hacer esto en el evento keypress del textbox1

select case keyascii
case chr(8)
e.handled = false
case chr(48) to chr(57)
e.handled = false
case else
e.handled = true
end select

jaja asi de facil
no me acuerdo muy bien pero si no funciona cambia los false por true y los true por false ok

  Respuesta:  angeles Mendez
Para que el textbox acepte solo numeros debes de programar en el evento keypress de la caja y poner el siguiente codigo, mi textbox se llama TxtTelefono cuando introduces letras te manda un mensaje de error,

Private Sub TxtTelefono_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtTelefono.KeyPress

If Char.IsLetter(e.KeyChar) Then' verifica si son numeros
MessageBox.Show("Solo se aceptan numeros", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)'manda mensaje de error si son letras
e.Handled = True
Me.TxtTelefono.Focus()'regresa el cursor a textbox para escribir de nuevo
End If

End Sub

espero y te ayude en algo

  Respuesta:  cristofer robles
solo con la funcion isnumeric()
puede ser
controlado por un if

if isnumerc(textbox1.text) then
else
messagebox.show("solo ingrese numeros")
textbox1.clear()
textbox1.focus()
end if

  Respuesta:  Jacob Mellado Toledo
En el evento KeyPress

If Not (Char.IsControl(e.KeyChar()) Or Char.IsDigit(e.KeyChar())) Then
e.Handled = True
End If

e.Handled = True : le dice al evento que ya se tomó la acción adecuada

  Respuesta:  eider mauricio aristizabal erazo
puedes utilizar una expresion regular
en la propiedad control tovalidate escoge la caja de texto a validar
y utilizas esta expresion [0-9.,]* que significa que acepte solo digitos de 0 a 9 con punto o coma

  Respuesta:  Ronny Delgado
Que te parece una funcion en una clase que diga algo asi:
(Ejemplo clase Validacion)

Public Function SoloNumeros(ByVal dato As Char) As Boolean
Dim manejo As Boolean = True
If (Asc(dato) = 8) Or (Asc(dato) = 46) Then 'Si es BackSpace o punto los permite
manejo = False
Else
If IsNumeric(dato) Then
manejo = False
End If
End If
Return manejo
End Function

y en el evento keypress del textbox en el Form le pones:

e.Handled = objValidacion.SoloNumeros(e.KeyChar)

Esto es sencillo. Si le ponemos la propiedad Handled a True le estamos diciendo a VB que nosotros vamos a "manejar" el evento, por lo cual VB no "hace nada", si le pones el Handled en False (que es el que tiene por defecto), VB si se encarga de "manejar" lo que suceda en ese evento.