2012-02-23 3 views

답변

0

당신이 VB 또는 C#을 사용하는 경우 내가 아는 해달라고하지만 VB에서 그냥이 코드를 사용하여 application.xaml.vb 창에 갈 필요가 : 당신이 닫기 버튼을 누르면

Protected Overrides Sub Finalize() 
msgBox("Closing") 
End Sub 

다음마다 메시지 상자가 나타납니다.

+0

내가 C#을 유감 작업 그나마 VB에서 난 단지 알고 C#을 – Nadeem

+0

에는 마무리가()이 없습니다. – Rui

+0

메세지 박스를 보여주기위한'Finalize()'메소드를 오버라이드하는 것은 당신이해야하는 것이 아닙니다. 'Finalize()'는 객체가 GC에 의해 수집 될 때 리소스를 정리하기 위해 예약되어 있습니다. 닫는 메시지가 보이지 않습니다. 오버라이드를 수행하려면 최소한 OnClosing() 메소드를 오버라이드해야한다. –

1

윈도우 닫기 이벤트를 구독하고 메시지 상자를 넣으십시오.

e.Cancel = true 인 경우 창 닫기 동작을 취소 할 수 있습니다.

3

Closing 이벤트에 처리기를 추가하고 메시지와 함께 메시지 상자를 표시하십시오. 사용자가 선택하는 옵션에 따라 이벤트를 취소하십시오. C#에서

:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     Closing += new System.ComponentModel.CancelEventHandler(MainWindow_Closing); 
    } 

    void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
    { 
     if (MessageBox.Show("ARE YOU WANT TO CLOSE?", "CLOSING", MessageBoxButton.YesNo) == MessageBoxResult.No) 
     { 
      e.Cancel = true; 
     } 
    } 
} 
+0

감사의 작품 – Nadeem

관련 문제