Visual Studio 2008 IDE'de editör penceresini (sekme) kapatan etkinlikleri yakalamak istiyorum. Ben dte2.Application.Events.get_CommandEvents (null, 0) .BeforeExecute başarıyla yakalanan tür olayların kullandığınızda:Capture window close event
- file.close
- File.CloseAllButThis
- File.Exit
- Window.CloseDocumentWindow ve diğerleri.
Pencerede kod kabul edilemezse, olayı durdururum (CancelDefault = true).
Ama sağ taraftaki "X" düğmesine tıklarsam, "Değişiklikleri Kaydet"; iletişim kutusu görüntülenir, editör penceresi ile sekme kapatın ve yakalanan hiçbir olayım yok. Bu durumda WindowClosing olayını yakalayabilirim, ama etkinliği iptal edemiyorum.
"x" düğmesini tıklatıp durdurma olayını işlemek mümkün mü?
"X" i tıklarsanız, ancak "Değişiklikleri Kaydet" görünmezse, sorun hala devam ediyor mu? –
Doğrulama yapmamanızın ve "Değişiklikleri Kaydet" iletişim yöntemlerinde böyle bir neden var mı? Genellikle, pencere kapanma olaylarında değişiklikler olup olmadığını kontrol edip "Değişiklikleri Kaydet" komutunu başlatır. "Değişiklikleri Kaydet" yöntemi, doğrulama iyise ve kaydetme başarılı olursa veya Doğrulama başarısız olursa, Doğru olarak döndürür ... Daha sonra, bu değer, pencere kapatma olay işleyicisine geri gönderilir. onu reddetmek ve hiçbir şey yapmamak için pencere veya yanlış. – ewall