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. |