Quiero capturar eventos que cierran la ventana del editor (pestaña) en Visual Studio 2008 IDE. Cuando uso dte2.Application.Events.get_CommandEvents (NULL, 0) .BeforeExecute I capturados con éxito este tipo de eventos:Capturar ventana cerrar evento
- file.close
- File.CloseAllButThis
- File.Exit
- Window.CloseDocumentWindow y otros.
Si el código en la ventana no es aceptable, detengo el evento (CancelDefault = true).
Pero si hago clic en el botón "X" en el lado derecho, "Guardar cambios"; aparece el cuadro de diálogo, la ventana del editor está cerrada y no tengo ningún evento capturado. En este caso, puedo capturar el evento WindowClosing, pero no puedo cancelar el evento.
¿Es posible manipular el botón "x" al hacer clic y detener el evento?
Si hace clic en "X", pero "Guardar cambios" no aparecerá, ¿el problema persiste? –
¿Hay alguna razón por la que no está haciendo la validación y tal en los métodos de diálogo "Guardar cambios"? Comúnmente, uno debería tener los eventos de cierre de la ventana para buscar cambios e iniciar un mensaje de "Guardar cambios". El método "Guardar cambios" devolvería Verdadero si la validación era buena y el guardado fue exitoso, o Falso si la validación falló ... Entonces ese valor se enviaría nuevamente al manejador de evento de cierre de ventana, Verdadero para avanzar y cerrar la ventana o False para rechazarla y no hacer nada. – ewall