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 回答