如何在3次失败尝试后关闭表单
本文关键字:表单 3次 失败 | 更新日期: 2023-09-27 17:49:14
我有一个只有密码的登录表单。我希望这个登录表单被关闭,如果用户输入错误的密码3次。
我在类体中声明了这个变量:
int loginAttempts = 0;
当登录错误时,我使用:
loginAttempts++;
在登录按钮输入事件中,我使用:
private void login_bt_Enter(object sender, EventArgs e)
{
if (loginAttempts == 3)
{
login logf = new login();
logf.Close();
}
}
这似乎不起作用。我做错了什么?
您正在关闭您创建的logf
实例,甚至没有显示。我认为你需要关闭当前表单:
login_bt_Enter(object sender, EventArgs e)
{
if (loginAttempts == 3)
Close(); // simply close current form
}
问题:您正在创建登录表单的新实例,然后关闭。
解决方案:您需要关闭已经存在/打开的登录表单。
,因此您需要使用inf Application.OpenForms[]
试试这个:
if (loginAttempts == 3)
{
login form = (login) Application.OpenForms["login"];
form.Close();
}
不创建实例,直接关闭当前表单:
if (loginAttempts == 3)
{
this.Close();
}
从0开始,在==3处检查将允许4次尝试