0

私は予約アプリケーションを持っているので、保存を押すとユーザー名とパスワードの入力を求められ、ユーザー名とパスワードが正しければ予約が保存されます。ただし、新しいウィンドウを開いて新しいウィンドウを閉じると、保存が続行されません。ウィンドウを閉じたときに保存を続行するにはどうすればよいですか?

これは保存ボタンのコードです。

 private void btnSave_Click(object sender, RoutedEventArgs e)
    {
        if (CheckClashes(Convert.ToDateTime(date_picker.SelectedDate)) == false)
        {

            // tries to see if validation is ok
            if (validate() == true)
            {
                var openLogin = new Login1();
                openLogin.Show();

                if (variables.login == true)
                {
//do save algorithm

ユーザーのユーザー名とパスワードをチェックするときの新しいウィンドウのコードを次に示します。

  private void submit_Click(object sender, RoutedEventArgs e)
    {
        if (Validate() == true)
        {

            try
            {
               //authenticates user here

                if (hash1 == existingpassword.ToString())
                {
                    variables.login = true;
                    MessageBox.Show("User accepted.");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Incorrect username or password.");

                    variables.login = false;
                }
4

2 に答える 2

1

に置き換えopenLogin.Show()ますopenLogin.ShowDialog()。これにより、ログインウィンドウが閉じられるまで呼び出しスレッドがブロックされます。

于 2013-03-16T23:39:24.687 に答える
1

より良い方法は、次のようにモーダルモードでフォームを表示することだと思います。

openLogin.ShowDialog();
if (openLogin.DialogResult == DialogResult.OK)
{
    //save here
}
于 2013-03-16T23:40:28.240 に答える