Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/04/2007, 05:01
Avatar de freegirl
freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Problemas con el close button de un formulario

Hola,

gracias por contestar.

Me olvidé decir algo primordial, que mi aplicación es mdi, por lo cual todos los form hijos abiertos perdían los valores, conexiones, datasets, etc.

Al final lo pude solucionar.


Declaré una variable pública para controlar cuando el usuario pulsa [X] del form padre, que es el form principal de la app. Cuando pulsa el botón [X] pongo a true la variable y cancelo el evento closing de todos los forms abiertos. Todo seguido aparece el mensaje de si quiere salir de la aplicación. Si es que "si", pues pongo a false la variable y de esta forma dejo que se ejecute el closing de los forms.

En un módulo público declaro:

Cita:
Public cancelClose as boolean
En el form principal (form padre):

Cita:
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = Convert.ToInt32("0x0112", 16) Then
If IntPtr.op_Equality(m.WParam, IntPtr.op_Explicit(Convert.ToInt32("0xF060", 16))) Then
cancelClose = True
End If
End If
MyBase.WndProc(m)
End Sub
En el evento closing de los forms hijos:

Cita:
If cancelClose = True Then
e.Cancel = True
cancelClose = False
End If
Saludos