Visual Basic.NET - TextBox

   
Vista:

TextBox

Publicado por Martin (1 intervención) el 26/06/2009 04:31:36
Hola a todos

Tengo esta funcion

Public Function Numeros(ByVal txtControl As TextBox, ByVal caracter As Char, ByVal decimales As Boolean) As Boolean
If (Char.IsNumber(caracter, 0) = True) Or caracter = Convert.ToChar(8) Or caracter = "." Then
If caracter = "." Then
If decimales = True Then
If txtControl.Text.IndexOf(".") <> -1 Then Return True
Else : Return True
End If
End If
Return False
Else
Return True
End If
End Function

Agrego al evento KeyPress del TextBox1 para que me acepte solo numeros enteros

e.Handled = Numeros(Me.TextBox1, e.KeyChar, False)
If e.KeyChar = Chr(13) Then
TextBox2.focus()
End if

Funciona perfecto me valida solo numeros enteros pero como hago para que pase el foco al TextBox2 unicamente con la tecla Enter, pq apreto cualquier tecla y pasa igual.

Y para el TexBox2 le agrego en el evento KeyPress lo sig.

e.Handled = Numeros(Me.TextBox2, e.KeyChar, True)
If e.KeyChar = Chr(13) Then
TextBox3.focus()
End if

Aca funciona todo barbaro, me valida numeros decimales con el punto y paso al sig. TextBox con la tecla Enter pero como hago para que si ingreso un numero entero me lo convierta automaticamente en decimal con este formato 1.00, es decir si ingreso unicamente el nro. 1 al dar enter me lo convierta en 1.00 y asi sucesivamente si ingreso 10 se conv en 10.00 o 100 en 100.00.
Muchas 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

Publicado por kdlc (69 intervenciones) el 26/06/2009 23:20:46
en el evento de keypress tienes que usar el sendkeys
if e.keychar = chrw(key.enter)) then
Sendkeys.send(chrW(key.enter)) 'key.enter = 13
end if

y para el formato decimal puedes usar el .tostring("N2") para que te formatee el contenido del texto con 2 decimales.

usar un masktextbox o algo asi ...

te aconsejo buscar en google ... hay un monton de ejemplos.

Suerte
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

Publicado por Fernando Flores (2 intervenciones) el 28/08/2009 23:32:20
utiliza las funciones de formateo que trae visual net, por ejemplo:
TextBox3.text = format(cdbl(TextBox3.text),"##,###0.00")
automaticamente se te formateo el valor de tu texbox y como ya lo tienes validado no tendras problema, tambien puedes asignarle la precision aumentandole los puntos decimales o numerales.

Saludes.
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