Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2011, 13:48
guillebomtrasmiti
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 14 años, 1 mes
Puntos: 5
Pregunta problema en recorrido constante

hola amigos, tengo 8 textbox...y quiero que al pulsar enter se salte de textbox en textbox, en principio lo he conseguido, pero el problema es que cada vez que salto de uno a otro he puesto unas operaciones que no suceden en el textbox que necesito, si no que suceden todo el rato, imaginaros que quiero multiplicar el textbox 6 por el 7 y poner el resultado en el 8 pues bien en cuanto estoy en el primer textbox y pulso enter, trata de hacer el cálculo anque en esos textbox todavía no hay datos...os pongo el código gracias por vuestra ayuda...

aquí hago el salto con intro
'Proporciona que pueda cambiar de textbox en textbox pulsando enter
Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)
'Try
' ¿Se ha pulsado la tecla Enter?
If e.KeyData <> Keys.Enter Then
MyBase.OnKeyDown(e)
Return
End If
' Desplazar el foco entre los distintos controles
'mediante la tecla Return. El código está basado en un
'ejemplo de Francesco Balena.
'
'Iniciar todos los controles seleccionados actualmente.
Dim ctrl As Control = Me.ActiveControl

Dim b As Boolean = False
Do
' Obtener el siguiente control hacia delante en el
' orden de tabulación.
ctrl = Me.GetNextControl(ctrl, True)
restadto()


' GetNextControl(ctrl, False) puede devolver Nothing si
' es el primer control.
If (ctrl IsNot Nothing) AndAlso (ctrl.CanFocus) AndAlso (ctrl.TabStop) Then
' Si el control puede recibir el foco, se lo doy.
ctrl.Focus()
b = True
End If
Loop While b = False

MyBase.OnKeyDown(e)
'Catch
'End Try
End Sub


aquí el cálculo que repite sin parar
public sub restardto()
If RadioSinDto.Checked Then
multiplicatextboxunidades()
'calculo precio por el total de unidades compradas para dar el precio de la línea total y doy formato
Dim total As Decimal = 0
total = CDec(CStr((Val(TextUnd.Text) * Val(TextPrecio.Text))))
TextTotalLinea.Text = Format(Format(total, "#,##0.00"))

'calculo el precio * las unidades del formato del producto
Dim totalund As String
totalund = TextTotaluco.Text
MessageBox.Show(TextTotaluco.Text)
'Dim total2 As Decimal = 0
'total2 = CDec(((Val(TextPrecio.Text) / Val(Textuncomp.Text))))
'TextPUnid.Text = Format(Format(total2, "#,##0.00"))

'aquí calculo la cantidad de producto comprado ejemplo
TextTotaluco.Text = CStr((Val(Textuncomp.Text) * Val(TextTUnid.Text)))

End If
end sub