Visual Basic.NET - TEXTBOX con formato

 
Vista:

TEXTBOX con formato

Publicado por Jonathan (20 intervenciones) el 30/08/2004 20:24:56
Hola a todos

Como puedo hacer para que en un textbox solo me permita ingresar numeros con dos decimales 9999.99 y si ingresa mas decimales enviar un mensaje de texto

GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TEXTBOX con formato

Publicado por kikonmx (17 intervenciones) el 31/08/2004 21:32:01
que tal.

Pues mira, como no he encontrado en la versión .net un control del tipo maskedit, se me ocurre que pudieras hacer lo siguiente.

Declarar dos variables a nivel de Clase ( la clase que define el formulario) que se llame por ejemplo,

Dim Decimales as integer = 0
Dim HayDecimales as Boolean = False

La primera te servirá para llevar la cuenta de cuántos decimales has escrito.

La segunda, se establecerá a true cuando escribas el caracter ".", para indicar que se van a empezar a ingresar decimales

En el evento Keypress del textbox podrías poner lo siguiente

If (e.KeyChar = ".") Then
HayDecimales = True
Decimales = 0
End If

If (e.KeyChar >= "0" And e.KeyChar <= "9") Then ' Cuando presiones
' un número
If (HayDecimales) Then ' Si ya escribiste el .
If (Decimales < 2) Then ' y llevas menos de
' 2 decimales lo
' escribe
Decimales = Decimales + 1
Else ' Si hay mas
e.Handled = True ' no lo escribe y
MsgBox("SDFSF") ' manda un mensaje
End If
End If
End If

Este código es ilustrativo ya que tiene varias deficiencias:

1.- Permite ingresar cualquier tipo de caracteres, ya sean letras, números, etc.
2.- No maneja errores
3.- Tiene el problema de que si al haber escrito el ".", después lo borras, te seguirá contabilizando los decimales y ya no te dejará escribir ningun dígito.

Creo que son cosas que puedes arreglar, solo quería darte una opinión de como lo puedes hacer de una forma "sencilla"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TEXTBOX con formato

Publicado por Mugutu (3 intervenciones) el 01/09/2004 19:38:04
Prueba esto:
format(expresion , formato)
Por ejemplo:
Dim a As Double = 0.75123
Dim b As Double = 21.45554
Dim c As Double
c = Format(a + b, "0.00")
MsgBox(c)

Resultado c =22,21

Si añades otro 0 el resultado tendrá 3 decimales.Espero que t sirva de algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar