此代码中的问题是,即使我使用无效的用户名和密码3次点击登录按钮,它也不会终止程序。所以我想要发生的是当用户输入3次无效的用户名和密码时,它将终止程序。
MessageBox.Show("Invalid username and/or password.");
pass_txt.Text = null;
int login_count = 0;
login_count = login_count + 1;
if (login_count == 3)
{
Application.Exit();
}
答案 0 :(得分:2)
int login_count = 0;
login_count = login_count + 1;
Login_count永远不会大于1,因为您在增加它之前将其初始化为0。您需要将其设置为全局,然后在不将其设置为0的情况下递增它。
你需要更接近的东西
if(failedLogin)
{
// ...
this.login_count++;
}
// ...
if (this.login_count == 3)
{
Application.Exit();
}
答案 1 :(得分:1)
这样的事情可能有用。
private void Login()
{
int login_count = 0;
bool goodLogin = false;
do
{
if (DoLogin())
goodLogin = true;
else
login_count++;
} while (login_count < 4 && !goodLogin);
if (goodLogin)
{
//do the login stuff
}
else
{
Application.Exit();
}
}
private bool DoLogin()
{
if (true) //do the login logic here
return true;
else
{
MessageBox.Show("Invalid username and/or password.");
pass_txt.Text = null;
return false;
}
}