Editar Números

24/09/2004 - 01:00 por grancesarx | Informe spam
Buenas para todos

Necesito ayuda de ustedes para poder editar números a medida que se van
digitando (y que el campo solo acepte números) en VB.NET.

Por ejemplo
si hasta el momento he digitado 989, se vea 989

si digito el siguiente dígito 9891, se vea 9,891

Esto para enteros. Cómo se puede hacer cuando también tiene decimales
digitandole el PUNTO.

Espero me hayan entendido y comprendido

Muchas gracias,


César Fuentes
 

Leer las respuestas

#1 Gonzalo Díaz
24/09/2004 - 14:49 | Informe spam
Hola...

Podes probar con esta rutina.
La podes poner fuera del evento KeyPress, asi la podes llamar desde varios
TextBoxes.
En este case esta restringido para 20 caracteres dentro del textbox (de
acuerdo al formato "###,###,###,##0.####")
No tuve mucho tiempo para probarla, asi que si te anda bien avisame.

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyPressed As Char
KeyPressed = e.KeyChar

'si se presiona Back Space
If Asc(KeyPressed) = 8 Then
Exit Sub
End If
'controlar la tecla
Select Case KeyPressed
Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
e.Handled = True
TextBox1.Text &= KeyPressed
TextBox1.Text = Format(CDbl(TextBox1.Text),
"###,###,###,##0.####")
TextBox1.SelectionStart = Len(TextBox1.Text)
Exit Sub
Case
Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
e.Handled = True
TextBox1.Text &= KeyPressed
TextBox1.SelectionStart = Len(TextBox1.Text)
Exit Sub
Case Else
Beep()
e.Handled = True
End Select
End Sub


Saludos !

"grancesarx" escribió en el mensaje
news:
Buenas para todos

Necesito ayuda de ustedes para poder editar números a medida que se van
digitando (y que el campo solo acepte números) en VB.NET.

Por ejemplo
si hasta el momento he digitado 989, se vea 989

si digito el siguiente dígito 9891, se vea 9,891

Esto para enteros. Cómo se puede hacer cuando también tiene decimales
digitandole el PUNTO.

Espero me hayan entendido y comprendido

Muchas gracias,


César Fuentes


Preguntas similares