de que manera puedo lograr que un textbox acepte solo formato de moneda, mas si en usuario ingresa alguna letra la rechaze,solo numeros + coma y punto.
o en ultimo caso que sea decimal el textbox p.j o que me acepte 0.25 , 1.77, 1,100.20
| ||||
Respuesta: Formato de Moneda en Textbox todos nos imaginamos usar el Mask, pero p.e algunas veces los valores que ingresen seran cortos: 0.25 , la mascara seria = 0.00, esto no le va a permitir ingresar mas valores,o si la mascara es grande, = ###,##0,00 - va a proporcionar incomodidad al que llene, solo busco que limitar a que no acepte letras. pero sin 0 comas y puntos. he estado buscando los codigos de las teclas. |
| ||||
Respuesta: Formato de Moneda en Textbox Y si el evento keypress verificas y asignas null cuando no es una de las validas ? Cita: fuente: http://www.programatium.com/vbnet.htmEvento KeyPress El evento KeyPress es utilizado para capturar la tecla digitada por el usuario. Este evento distingue entre letras mayúsculas y minúsculas. El segundo argumento del este evento expone dos propiedades: Handled y KeyChar, la propiedad KeyChar es el caracter correspondiente a la tecla digitada. La propiedad Handled es un valor booleano, si se establece este valor como True entonces indicamos al formulario que no procese el evento. El siguiente ejemplo evita que se digite un número: Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal _ e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If IsNumeric(e.KeyChar) Then e.Handled = True End Sub El siguiente ejemplo válida que la entrada unicamente acepte números (permite borrar la entrada): Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal _ e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress REM If IsNumeric(e.KeyChar) Then e.Handled = True If (Asc(e.KeyChar)) >= 48 And (Asc(e.KeyChar)) <= 57 Or (Asc(e.KeyChar)) = System.Windows.Forms.Keys.Back Then e.Handled = False Else e.Handled = True End If End Sub El siguiente ejemplo válida que la entrada unicamente acepte letras (permite borrar la entrada): Private Sub txtLetras_KeyPress(ByVal sender As Object, ByVal _ e As System.Windows.Forms.KeyPressEventArgs) Handles txtLetras.KeyPress If (Asc(e.KeyChar)) >= 65 And (Asc(e.KeyChar)) <= 90 Or _ (Asc(e.KeyChar)) >= 97 And (Asc(e.KeyChar)) <= 122 Or _ (Asc(e.KeyChar)) = System.Windows.Forms.Keys.Back Then e.Handled = False Else e.Handled = True End If End Sub :) |