Voglio catturare eventi che chiudono la finestra dell'editor (scheda) in IDE di Visual Studio 2008. Quando uso dte2.Application.Events.get_CommandEvents (NULL, 0) .BeforeExecute I catturate con successo tali eventi:Cattura evento chiusura finestra
- File.Close
- File.CloseAllButThis
- File.Exit
- Window.CloseDocumentWindow e altri.
Se il codice nella finestra non è accettabile, interrompo l'evento (CancelDefault = true).
Ma se faccio clic sul pulsante "X" sul lato destro, "Salva modifiche"; viene visualizzata la finestra di dialogo, scheda con la finestra dell'editor chiusa e non ho alcun evento catturato. In questo caso, posso acquisire l'evento WindowClosing, ma non posso annullare l'evento.
È possibile gestire "x" l'evento di clic e arresto del pulsante?
Se si fa clic su "X", ma "Salva modifiche" non viene visualizzato, il problema si verifica ancora? –
C'è un motivo per cui non stai facendo la validazione e tale nei metodi di dialogo "Salva modifiche"? Comunemente, uno avrebbe gli eventi di chiusura della finestra per verificare le modifiche e avviare un prompt "Salva modifiche". Il metodo "Salva modifiche" restituirebbe True se la convalida era valida e il salvataggio è andato a buon fine o False se la convalida non è riuscita ... Quindi quel valore sarebbe stato restituito al gestore eventi chiusura finestra, True per andare avanti e chiudere la finestra o False per rifiutarlo e non fare nulla. – ewall