0

ログインウィンドウがあります。このログイン ウィンドウから、メイン ウィンドウを初期化しています。ログインが成功したら、ログイン ウィンドウを閉じます。現在、メインウィンドウから呼び出している他の2つのウィンドウがあります。メイン ウィンドウを閉じると、他の 2 つのウィンドウとメイン ウィンドウを閉じることができます。ただし、プログラムは引き続きメモリ内で実行されます。Visual Studio から手動で閉じる必要があります。プログラムのすべてのインスタンスを完全に閉じるにはどうすればよいですか?? これは、メイン ウィンドウの Close Event コードです。

private void usimClose(object sender, EventArgs e)
{
   newScreen2.Close();
   newScreen3.Close();  
   this.Close();                        
}

これは私のログイン ウィンドウ コードです。ユーザーが送信ボタンをクリックしたら。

 private void btnLogin_Click(object sender, RoutedEventArgs e)
 {
        if (txtUserName.Text.Length == 0)
        {
            errormessage.Text = "Please Enter UserName";
            txtUserName.Focus();
        }
        else
        {                
            LoginStatus _status = _Login.LoginUsimgClient(txtUserName.Text, txtPassword.Password.ToString());

            if (_status.BoolLoginstatus)
            {
                mainWindow.RunApplication();
                string struserName = _status.StringUserFirstName;
                mainWindow.userName.Text = "Welcome " + struserName;
                mainWindow.Show();
                this.Close();                    
            }
            else
            {
                errormessage.Text = _status.StringErrorDescription;
                txtUserName.Text = String.Empty;
                txtPassword.Password = String.Empty;
            }
        }
}
4

4 に答える 4

7

試すApplication.Current.Shutdown();

MSDNから

Shutdown を明示的に呼び出すと、ShutdownMode の設定に関係なく、アプリケーションがシャットダウンされます。ただし、ShutdownMode が OnExplicitShutdown に設定されている場合は、Shutdown を呼び出してアプリケーションをシャットダウンする必要があります。

重要な注意点

Shutdown が呼び出されると、開いているウィンドウの Closing イベントがキャンセルされたかどうかに関係なく、アプリケーションはシャットダウンします。

このメソッドは、Application オブジェクトを作成したスレッドからのみ呼び出すことができます。

于 2013-07-19T07:42:24.427 に答える
4

これを使用してすべてのウィンドウを閉じることができます

App.Current.Shutdown();

また

手動で閉じることができます

Window parentwin = Window.GetWindow();
parentwin.Close();
于 2013-07-19T10:56:55.120 に答える
1

ここで私の答えを見てください: How to close wpf window from another project

Application.Current.Shutdown() は、非常に突然の方法でアプリケーションを停止します。

ウィンドウを適切に追跡して閉じることをお勧めします。

于 2013-07-19T08:25:35.257 に答える