Bueno pues esto es algo que me han preguntado mucho, por ahi en la web he visto inclusive controles personalizados definidos para esta tarea, pero yo en particular prefiero las cosas sencillas y eficaces, asi que aqui les dejo un codigo de apenas unas lineas implementado en el evento KeyDown del textbox, que ocurre justo antes de que el caracter pulsado sea agregado en el textbox, esto es muy util si desarrollan aplicaciones con calculos, como una calculadora por ejemplo.
Ok y aqui esta el codigo
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
'Omitimos las teclas suprimir, flecha izquierda, flecha derecha, backspace, y el punto decimal
If e.KeyCode <> 190 And e.KeyCode <> Keys.Back And e.KeyCode <> Keys.Delete _
And e.KeyCode <> Keys.Right And e.KeyCode <> Keys.Left Then
'Verificamos que la tecla presionada este en el rango de 0 a 9, si no cancelamos
If e.KeyCode < Keys.D0 Or e.KeyCode > Keys.D9 Then
e.SuppressKeyPress = True
End If
End If
'Si se tecleo el punto decimal ,verificamos que el textbox no contenga ya un punto decimal
'Al mismo tiempo verificamos que el textbox no este vacio
If e.KeyCode = 190 And (TextBox1.Text.Contains(".") Or TextBox1.Text = "") Then
e.SuppressKeyPress = True
End If
End Sub
Cualquier error por favor haganmelo saber.
Probado en Visual Basic 2008
Excelente!! justo lo que buscada, pero seria aun mas excelente si tu logras hacerlo pero validando el ingreso de datos con formato de correo.
ResponderEliminarAhi si la haces bien!!!
Igual Interesante el Blog.
Saludos.
Mi correo es: ecieza.18@hotmail.com
Desarrollador .net junior
Bueno pues si te refieres a una direccion de correo electronico, eso debe de ser facil con los metodos para manipular cadenas, hoy mismo publico una solucion para esto
ResponderEliminarestá muy útil pero no tiene como codificar entrede de texto
ResponderEliminar