2016-05-16 61 views
-5

我对这个网站和编码一般都很陌生,所以我很抱歉,如果这是简单的。 我的主窗体上有一个按钮,单击它时会打开另一个提示输入密码的窗体。我希望能够在关闭表单之前检查密码是否正确,但如果错误,我希望表单保持打开状态,以便用户可以再次尝试。这是我开始:无法防止密码输入从C#关闭窗体#

public partial class passwordEntry : Form 
    { 
     public passwordEntry() 
     { 
      InitializeComponent(); 
      passBox.Text = string.Empty; 
     } 

     private void passwordAccept_Click(object sender, EventArgs e) 
     { 
      string pass = passBox.Text; 

      if (pass.Equals("notmyrealpassword")) 
      { 
       MessageBox.Show("You entered the correct password!"); 
      } 

      else 
      { 
       MessageBox.Show("Incorrect password. Please try again."); 
      } 
     } 
    } 

然后,基于一些搜索,我添加了“bool check = false;”在主要公众呼叫之前,“check = true;”在成功的MessageBox,这到底:

private void passEntry_FormClose(object sender FormClosingEventArgs e) 
    { 
     if (!check) 
     { 
      e.Cancel = true; 
     } 
    } 

最终结果时,Visual Studio不会让我编译由于

错误CS1003语法错误, '' 预期。

帮助?

+1

这是一个新手的错误,如果你双击了该编译错误VS会显示你行,问题是上。那么你所需要做的就是给那条线丢失“它”的预期。在YouTube上查看一些基本的调试视频。 –

回答

4

你应该把“”方法参数之间:

private void passEntry_FormClose(object sender, FormClosingEventArgs e) // here "," after "sender" 
{ 
    if (!check) 
    { 
     e.Cancel = true; 
    } 
} 
+0

谢谢你的回应。这确实解决了我的编译错误,但我仍然无法防止密码输入表单关闭错误的密码。 – TheManofSpiel

+0

调试您的代码并查看检查变量的值,我认为,问题在于,因为您的代码阻止关闭是正确的 –