Problema formato moneda textbox ejecución

Es sobre el formato moneda en tiempo de ejecución de un textbox, es decir, que al estar yo ingresando la cantidad, me transforme la cantidad, como la que se muestra abajo:
1,349.00
He logrado ese formato con esta instrucción:
label1= format (total,""##,#0.00"), pero no me lo hace en tiempo de ejecución.
Esa instrucción la puse en el evento Keypress y sí me lo hizo, más lo hace todo desordenado. No me respeta el formato que debiera ser. Ya he investigado mucho y hecho mis experimentos y ni así.
He intentado con LostFocus y Validate, del textbox; pero tampoco me sale nada. También intenté con un MaskEdit y tampoco me salió por nada del mundo.
¿Cómo puedo solucionar eso?
De antemano, muchísimas gracias por dedicarme algo de tu tiempo para responder mi duda.

2 respuestas

Respuesta
1
Muéstrame el código que le pones al evento LostFocus.
Muchas gracias por contestar, experto.
Aquí el código que pongo en LostFocus:
Private Sub Text1_LostFocus ()
      Text1.Text= Format (Text1.Text,"##,#0.00")
End Sub
Es decir, ya me quedó claro, que cuando tienes otro textbox, por ejemplo el Text2, al dar la tecla "Tabulación" es cuando cambia de formato el Text1, mientras ya me dí cuenta que no lo hace.
Lo que yo estaba usando, es el evento Keypress y este es el código:
Private Sub Text1_KeyPress (Keyascii as Integer)
     Text1.Text= Format (Text1.Text,"##,#0.00")
En sub
En este código, sí me lo hace, pero no me respeta el orden, es decir, si yo escribo los números del 1 al 9, en vez de ponerlos así:
123,456,789.00
Me pone esto porque no me respeta el formato:
895,672,341.00
Yo sé que puedo hacer el formato correcto, escribiendo los datos en un textbox y presionando un botón que me daría el formato; más no es lo que estoy buscando.
Es que lo necesito para un formulario de "Venta", es decir, que el cajero (a) al estar ingresando la cantidad a cobrar, lo transforme al instante.
De nueva cuenta, muchas gracias, experto.
Saludos...
Cambia esto:
Format (Text1.Text,"##,#0.00")
Por esto:
String.Format ({0:C},Text1.Text)
Y me comentas como te fue.
Hola, experto.
He puesto lo que dices así:
Private Sub Text1_Keypress (Keyascii As Integer)
     Text1.Text= String.Format ({0:C},Text1.Text)
End Sub
Y no me funcionó, pues me marca "Error de sintaxis"
De igual manera, si lo dejo así:
Private Sub Text1_Keypress (Keyascii As Integer)
   String.Format ({0:C},Text1.Text)
End Sub
Me sigue saliendo el mismo error. De antemano, sigo agradeciendo tu ayuda.
Te comento que lo estoy haciendo en Visual Basic 6.0
Omití las comillas:
String.Format ("{0:C}",Text1.Text)
Hola de nuevo, experto.
Investigando la función que me diste, hice esto, agregado a lo que tú me recomendaste:
Private Sub Text1_Keypress (Keyascii As Integer)
Dim cadena As String
cadena= String.Format ({0:C},Text1.Text)
Text1.Text= cadena
End Sub
Y me sigue marcando error de sintaxis!!!
Lo que sigo sin entender es el ¿por qué?, ¿o tengo que activar alguna librería y no lo sabía? Me doy cuenta que la función debería ejecutarse a la perfección; más no es así.
Utilizo Visual Basic 6.0 edición Profesional, ¿o será la versión?
Esa función que te he dado es para .NET...
Disculpa la tardanza, experto.
Con qué razón nunca me salió, ¿pudieras darme alguna sugerencia de cómo puedo realizar ese problema?
De antemano, muchas gracias.
Hace mucho ya no trabajo con VB6, tiene más de 15 años de viejo.
Respuesta

tengo un textbox y quiero poner el formato de numero de telefono es decir que cuando cliquee en el textbox me aparezca para completar_ _ _ _ - _ _ _ _ ? alguien sabe cual es la funcion

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas