Visual Basic.NET - Cosas raras al salir

 
Vista:

Cosas raras al salir

Publicado por Astrow25 (24 intervenciones) el 04/03/2006 15:11:25
Hola,

Tengo un form principal y uno que se llama CP, desde el principal llamo a CP de la siguiente manera:

Private Sub cmdCP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCP.Click, mnuCP.Click
Dim oCP As New frmcp
Me.ShowInTaskbar = False
oCP.ShowDialog()
End Sub

y al salir del CP al form lo hago asi

Private Sub frmCP_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
e.Cancel = Not UsuarioQuiereSalir()
End Sub

Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click, cmdClose.Click
Dim oprincipal As New frmPrincipal
oprincipal.ShowInTaskbar = True
Me.Close()
End Sub

Private Function UsuarioQuiereSalir() As Boolean
Return MsgBox("¿Desea salir?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Salir") = DialogResult.Yes
End Function

El problema que me pasa es que cuando me pregunta el cerrar y salgo del CP al principal, en el principal me vuelve a preguntar si quiero volver a cerrar, para cerrar el principal lo hago igual que el cerrar del CP

¿Porque me da ese problema?

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:Cosas raras al salir

Publicado por thessen (298 intervenciones) el 06/03/2006 10:22:02
Yo te diria que, tal y como tienes el codigo, no instancies el formulario principal en el evento click del menu close. Si quieres que vuelva a aparecer el formulario principal en la barra de tareas, yo lo pondria en el evento activate del principal, mas o menos quedaria asi :

Private Sub cmdCP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCP.Click, mnuCP.Click

Dim oCP As New frmcp
Me.ShowInTaskbar = False
oCP.ShowDialog()

End Sub

Private Sub frmPrincipal_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated

me.ShowInTaskBar = True

End Sub

Private Sub frmCP_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing

e.Cancel = Not UsuarioQuiereSalir()

End Sub

Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click, cmdClose.Click

Me.Close()

End Sub

Private Function UsuarioQuiereSalir() As Boolean

Return MsgBox("¿Desea salir?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Salir") = DialogResult.Yes

End Function
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