Validación

20/09/2004 - 19:55 por Omar Flores | Informe spam
Que tal, tengo un pequeño problema de validación, lo que pasa es que quiero
validar en un TextBox que solo me admita valores numéricos y que si el
usuario pone una letra u otro caracter que no sea numérico le mande un
mensaje, en el código que a continuación les presento hago esto pero tiene
un defecto, cundo el usuario introduce una letra, le despliega el mensaje y
borra lo que tenia anteriormente el textbox pero despues de haber borrado
(si hay error) me pone el último caracter presionado y lo que quiero es que
me limpie completamente todo lo escrito anteriormente.

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

If Char.IsLetter(e.KeyChar) = True Then

MessageBox.Show("No se admiten letras", "Alerta", MessageBoxButtons.OK,
MessageBoxIcon.Information)

txtBusca.Focus()

txtBusca.Text = ""

End If

End Sub



Espero y me puedan ayudar, gracias.
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
20/09/2004 - 20:26 | Informe spam
Mejor seria que chequearas en el evento TextChanged ya que ese codigo no si
el usuario pega texto desde el portapapeles. Usando una expresion regurlar
puedes validar si el texto solo contiene numeros:

If Not System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, "^\d*$")
Then
MessageBox.Show("No se admiten letras")
TextBox1.Text = ""
End If

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares