Aprende a ser un Desarrollador Web.
VB.NET: TextBox que permita solo Números
Buenas, hoy les mostrare como podemos crear un TextBox que solo permita números (aunque se puede adaptar para que solo permitan lo que ustedes quieran
).
1- Abrimos el Visual Studio y creamos un Nuevo Proyecto de Tipo Biblioteca de Clases (Class Library). Lo llamamos en este caso TextBoxNumeros.
2- Nos creara la solución y el proyecto, y también un clase class1.vb, le damos botón derecho y le cambiamos el nombre a: TextBoxNumeros, nos aparecerá un cartel le damos que SI.
3- Ahora lo siguiente que debemos hacer es agregar una referencia, para llevar a cabo esto, hacemos clic derecho en el Proyecto, y vamos a Agregar Referencia:
4- Buscamos en la pestaña: .NET, la librería: System.Windows.Forms, la seleccionamos y apretamos en Aceptar.
5- Ahora agregamos estas librerías a nuestra clase:
Imports System.ComponentModel Imports System.Windows.Forms Public Class TextBoxNumeros End Class
6- Ahora heredaremos de la clase TextBox:
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class TextBoxNumeros
Inherits TextBox
End Class
7- Empezamos a escribir dentro de la clase, escriben protected overrides y le aparece una lista con todas las funciones y procedimientos que pueden sobrescribir, y buscan: OnKeyPress, le dan a Enter y le creara el procedimiento solo:
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class TextBoxNumeros
Inherits TextBox
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
MyBase.OnKeyPress(e)
End Sub
End Class
8- Dentro de este agregamos la siguiente estructura, que verificara si el Carácter que se presiono, no es un numero.
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class TextBoxNumeros
Inherits TextBox
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
' Se comprueba si el Caracter ingresado ES o No un numero
If Not IsNumeric(e.KeyChar) Then
' Indicamos que no queremos que se escriba ese caracter
e.Handled = True
End If
End Sub
End Class
9- Así de simple tenemos nuestro TextBox que solo permite el ingreso de Números.
10- Si lo probamos, nos daremos cuenta que podrá escribir solo Números, pero si quiere borrar algún numero, no le va a permitir ya que la tecla “BackSpace” no es un numero. Entonces le agregamos la siguiente verificación para que permita la tecla “BackSpace”.
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class TextBoxNumeros
Inherits TextBox
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
' Comprobamos si la tecla presionada es la tecla de Borrar
If e.KeyChar = vbBack Then
' Si es la tecla de borrar salimos del procedimiento
' entonces podra borrar.
Exit Sub
End If
' Se comprueba si el Caracter ingresado ES o No un numero
If Not IsNumeric(e.KeyChar) Then
' Indicamos que no queremos que se escriba ese caracter
e.Handled = True
End If
End Sub
End Class
11- Ahora ya tenemos nuestro TextBox funcional.
12- Probaremos nuestro TextBox para ver cómo funciona. Hacemos clic con el botón derecho en la Solución y Agregamos un Proyecto de Tipo Aplicación de Windows Forms.
13- Nos creara el proyecto con un Formulario. Tendremos que generar la solución antes de poder usar nuestro TextBox, entonces damos clic en: Generar -> Generar Solución:
14- Entonces ahora nos aparecerá en el Cuadro de Herramientas, nuestro TextBoxNumeros:
15- Solo arrastramos nuestro control al formulario:
16- Antes de ejecutar, establecemos como proyecto de inicio, el proyecto de tipo Aplicacion de Windows Forms.
Entonces ejecutamos y ya podemos probar nuestro TextBox que solo permite Numeros.
Espero que les haya sido útil, y que cualquier consulta no duden en dejarla, trataremos de ayudarte.
Saludos…
Maty
| Imprimir artículo | Este artículo fue publicado por admin el 25 abril, 2010 a las 18:24, y está archivado en Programacion, Visual Basic. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |












hace 1 mes
¡Clarísimo!, muchas gracias.
hace 1 semana
Si tomas una cadena de letras del portapeles y la pegas en la caja de texto, tipo copiar y pegar, el txtbox lo acepta sin porblemas creo?.