Filtrar los carácteres introducidos por el usuario

2153 vistas

A menudo necesitamos limitar el tipo de carácteres que un usuario puede teclear. Por jemplo, podrÃamos querer que no se puedan pulsar letrar en un TextBox en el que esperamos un código postal o un número de teléfono.

No obstante, tenemos que autorizar el uso de ciertos carácteres especiales como la coma (para números decimales).

En el siguiente ejemplo, vamos a crear un método que permite la captura de números decimales teniendo en cuenta la coma.

Primero creamos el método:



vbnet
  1. Public Sub myFiltre(ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal autorise As String)
  2.   e.Handled = Not (Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or e.KeyChar = autorise)
  3. End Sub



Para llamar a este método vamos a usar el evento KeyPress de nuestro TextBox:



vbnet
  1. Private Sub myTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles myTextBox.KeyPress
  2.   myFiltre(e, ",")
  3. End Sub



Para controlar una fecha con formato dd/mm/aa tendrÃamos que llamar al método de esta manera:



vbnet
  1. myFiltre(e, "/")