2017-08-26 46 views
0

我创建了一个登录表单,我正在检查密码是否正确登录,如果不显示消息。Form1.Show()不与asyn等待

消息显示完美,但是当我尝试输入正确的登录细节form.show()不工作。以下是我的代码。

private void LoginpictureBox_Click(object sender, EventArgs e) 
    { 

     Login(); 


    } 


    private async Task Login() 
    { 

     if (await AuthorizeUser.isUserAuthorized(UserNamealphaBlendTextBox.Text, PasswordalphaBlendTextBox.Text)) 
     { 

      //this.Close(); 

      Form1 frm = new Form1(); 
      frm.MdiParent = main; 
      frm.Show(); 



     } 
     else 
     { 
      MessageBox.Show("Password or User name incorrect."); 
     } 


    } 
+0

可能'main'不是你可以看到的形式,可能它是你在内存中创建而没有显示的实例。 (只是猜测)。无论如何,此刻问题是无关紧要的。读取[mcve] –

+0

在if条件中添加断点并检查whetger条件是否正在执行 –

+0

条件正在执行。是 –

回答

0

试图改变这一行:

frm.MdiParent = main; 

这一行:

frm.MdiParent = this.MdiParent; 

的情况下mainOR是MDI容器,然后确保:

main.IsMdiContainer = true; 

之前,你实际上设置frm.MdiParent它。