Bien, se que hay muchos ejemplos en la red de cómo hacer esto, pero uno mas no viene mal.
Bueno esto es un procedimiento Sub, que lo podemos poner en un modulo de nuestro proyecto y evitarnos validar todo el código en cada textbox, por supuesto que se puede mejorar mucho mas, pero de momento lo dejo así
Public Sub NumConFrac(ByVal CajaTexto As Windows.Forms.TextBox, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar = "." And Not CajaTexto.Text.IndexOf(".") Then
e.Handled = True
ElseIf e.KeyChar = "." Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Eso es todo el sub
Ahora para llamarlo desde cualquier Textbox que necesitemos ingresar solo números, para lo cual solo agregaríamos la siguiente línea:
Private Sub TxtImporte_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtImporte.KeyPress
NumConFrac(Me.TxtImporte, e)
End Sub
Posteriormente si quieren visualizar el importe formateado, solo quedaría agregar lo siguiente luego pulsar ENTER
Me.TxtImporte.Text = Format(CDec(Me.TxtImporte.Text), "###,###.00")
Espero les sirva de algo
Hasta la próxima
me sirvio mucho!!! para el proyecto de analisis!!
ResponderEliminarHermano tremenda ayuda justo lo que necesitaba. muchisimas gracias
ResponderEliminar