Tema: KeyChar!!!
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/01/2010, 07:05
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 4 meses
Puntos: 2658
Respuesta: KeyChar!!!

1. Crea un Acumulador como variable de clase (del formulario):
Código vb.Net:
Ver original
  1. Private acumularNum As Integer
2. Filtra los números en el evento KeyPress.
Si quieres que acumule de a uno los números ingresados:
Código vb.net:
Ver original
  1. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  2.         Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
  3.         If InStr("1234567890", Chr(Keyascii)) = 0 Then
  4.             e.Handled = True
  5.         Else
  6.             acumularNum += CInt(Chr(Keyascii))
  7.         End If
  8.   End Sub
Si quieres que sólo los sume (completos) cuando presiones <Enter>:

Código vb.net:
Ver original
  1. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  2.         Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
  3.         If InStr("1234567890", Chr(Keyascii)) = 0 Then
  4.             e.Handled = True
  5.         Else
  6.             If e.KeyChar = ControlChars.Cr And TextBox1.Text <> ""  Then
  7.                   acumNum + = CInt(TextBox1.Text)
  8.             End If
  9.         End If
  10.   End Sub

Mas o menos así...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)