Yo solo quiero Numeros!

Independientemente de las mil y una formas para filtrar/formatear entradas de texto, me gustan las sencillas sin retorcimientos. Aquí te dejo una idea de cómo aplicar reglas cuando se trata de todo un form, aunque trabajandolo puedes customizar el comportamiento en funcion al control que tiene el foco. No olvides que tambien dispones de un espacio de nombres sensacional :


Imports System.Text.RegularExpressions


Aunque como te digo, en determinadas ocasiones cabe aplicar lo sencillo si con ello cubrimos las necesidades. ;-)
El siguiente ejemplo demuestra como filtrar la pulsación de cualquier tecla que no sea numerica o coma.


Private Sub Form1_Load() Handles MyBase.Load
    Me.KeyPreview = True
End Sub 


Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
    Select Case keyData
        ‘ 48 a 57  = numericas encima teclado alfabetico
        ‘ 97 a 106 = Numericas teclado numerico
        Case 48 To 57, 97 To 106, Keys.Oemcomma
            ‘Solo devolver las pulsaciones que pasan el filtro
            Return MyBase.ProcessDialogKey(keyData)
        Case Else
            ‘Evitar la propagacion de la pulsacion
            ‘de teclas que no nos interesan
            Return True
    End Select
End Function


Lo Bueno y simple… Dos veces bueno!
Pep Lluis


4 thoughts on “Yo solo quiero Numeros!”

  1. amigo como haria para ponerlo en un user control para que en un text box solo me acepte numero y tener una propiedad que indique que numero quiero validar, entero o decimal, etc, espero que me puedas ayudar

  2. Hombre don Rafael!
    Pues delo por considerado!, solo deberiamos añadir las series adecuadas para que pasen el filtro, asi como tambien deberiamos añadir el Chr(8) para procesar el imprescindible ‘backspace’ ;-)

    No hay nada como ser buenos y previsores! jajajajaja.
    Un Abrazo,
    Pep Lluis,

  3. Hola Fsigu,
    Deberias utilizar los eventos :
    TextBox1.PreviewKeyDown
    TextBox1.KeyDown
    TextBox1.KeyPress
    TextBox1.KeyUp

    Si con esto no es suficiente concreta que tipo de filtro te interesa aplicar al textbox y razonamos la mejor forma de hacerlo.
    Saludos,
    Pep Lluis,

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>