如何在另一个窗口关闭后继续运行代码
本文关键字:继续 运行 代码 另一个 窗口 | 更新日期: 2023-09-27 18:04:10
我有一个预订应用程序,所以当您按下save时,它要求输入用户名和密码,如果用户名和密码正确,它就保存预订。但是,当它打开新窗口,新窗口关闭时,它不进行保存,我如何使它在窗口关闭后进行保存?
这是保存按钮的代码。
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;
}
将openLogin.Show()
替换为openLogin.ShowDialog()
。这将阻塞调用线程,直到Login窗口关闭。
我认为更好的方式是在modal模式下显示表单,像这样:
openLogin.ShowDialog();
if (openLogin.DialogResult == DialogResult.OK)
{
//save here
}