2012-02-13 32 views
0

私はログインページでキャンセルボタンをクリックするとアプリケーションを閉じることを望んでいますが、ウィンドウ2が閉じられるようにしたくないのですが、メインウィンドウとメインに何らかの通知を送信することでウィンドウがアプリケーションを閉じます。 (loginPage中)カスタムイベントを子ウィンドウから親ウィンドウに戻すにはどうすればよいですか?

Public Event CloseApp As EventHandler 

Private Sub CancelButton_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles CancelButton.Click 

    DialogResult = False 
    RaiseEvent CloseApp(Me, New EventArgs) 
End Sub 

(メインウィンドウ)これは動作しません

Public loginPage As New LoginPage 

Public Sub New() 
    InitializeComponent() 
    AddHandler loginPage.CloseApp, AddressOf Me.ShutDownJobChangeWindow 
End Sub 

Private Sub ShutDownJobChangeWindow(ByVal sender As Object, ByVal e As EventArgs) 
    Application.Current.Shutdown() 
End Sub 

:ここで私がこれまで持っているコードです。私はイベントを扱うことに新しいので、もし誰かがこれに間違っていることを説明するのを助けることができたら、私はあなたにとても感謝しています!

P/S:C#についてもあまりにもVB.NETのコードに感謝していません。

+0

私の知る限り、あなたのコードは大丈夫です。 ClickとCloseAppの両方のイベントハンドラにブレークポイントを設定してヒットしたかどうかを確認しましたか? – Clemens

+0

うんんでした。実際に働いて、何かを学んだ。 :) – will0809

答えて

0

プロジェクト設定/アプリケーション/シャットダウンモードを調べて、「明示的シャットダウン時」に設定する必要があります。

(これは、イベントを発生させているイベントハンドラにフックされたLoginPageのインスタンスとみなされます)。
イベントハンドラにブレークポイントが設定されているかどうかを確認してください。

関連する問題