MessageBox se mete en un loop
Publicado por apacheco (98 intervenciones) el 03/06/2011 18:23:29
Estoy pasando de VB6 a VB 2010 una aplicacion de recogida de la manteleria utilizada en resturantes para lavarla y devolverla limpia.
Esto genera unos tickes con los datos del cliente y un grid (grilla, rejilla...) con los distintos articulos.
Cuando voy a introducir un nuevo ticket, lo primero que hago es comprobar si he grabado el ticket anterior o no.
En caso de que haya un tickect sin grabar PREGUNTO SI QUIERE GRABARLO O NO ....... y se mete en un bucle (Loop) tanto si contesto SI como si contesto NO.
Es decir muestra el mensaje, me permite contestar y vuelve a ejecutar el Sub cmbNomCli_GotFocus, sin ejecutar las opciones Si o No
El codigo es el siguiente:
Private Sub cmbNomCli_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbNomCli.GotFocus
If dgvArticulos.Rows.Count > 1 Then ' Si hay articulos pendientes
Ver_Pendiente_De_Grabar()
End If
...........
End Sub
Private Sub Ver_Pendiente_De_Grabar()
If MessageBox.Show("EXISTE UNA RECOGIDA PENDIENTE DE" & vbCrLf & vbCrLf & _
"GRABAR. SI CONTINÚA SE PERDERÁ" & vbCrLf & vbCrLf & _
" ¿DESEA GRABARLA (Sí/No)?", _
"PROCESO DE RECOGIDAS", _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Warning, _
MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
AddHandler btGrabar.Click, AddressOf btGrabar_Click ' Sub de Grabar el ticket
Else
dgvArticulos.Rows.Clear() ' Inicializo el Grid
End If
........
End Sub
Debe ser una tonteria ...... pero no se por donde atacarla
MUCHAS GRACIAS
Esto genera unos tickes con los datos del cliente y un grid (grilla, rejilla...) con los distintos articulos.
Cuando voy a introducir un nuevo ticket, lo primero que hago es comprobar si he grabado el ticket anterior o no.
En caso de que haya un tickect sin grabar PREGUNTO SI QUIERE GRABARLO O NO ....... y se mete en un bucle (Loop) tanto si contesto SI como si contesto NO.
Es decir muestra el mensaje, me permite contestar y vuelve a ejecutar el Sub cmbNomCli_GotFocus, sin ejecutar las opciones Si o No
El codigo es el siguiente:
Private Sub cmbNomCli_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbNomCli.GotFocus
If dgvArticulos.Rows.Count > 1 Then ' Si hay articulos pendientes
Ver_Pendiente_De_Grabar()
End If
...........
End Sub
Private Sub Ver_Pendiente_De_Grabar()
If MessageBox.Show("EXISTE UNA RECOGIDA PENDIENTE DE" & vbCrLf & vbCrLf & _
"GRABAR. SI CONTINÚA SE PERDERÁ" & vbCrLf & vbCrLf & _
" ¿DESEA GRABARLA (Sí/No)?", _
"PROCESO DE RECOGIDAS", _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Warning, _
MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
AddHandler btGrabar.Click, AddressOf btGrabar_Click ' Sub de Grabar el ticket
Else
dgvArticulos.Rows.Clear() ' Inicializo el Grid
End If
........
End Sub
Debe ser una tonteria ...... pero no se por donde atacarla
MUCHAS GRACIAS
Valora esta pregunta


0