我创建了一个自定义登录表单。当用户点击menustrip工具时,我会显示登录表单。如果他输入正确的用户名和密码,我希望关闭并禁用此表单,并且menustrip上的工具将像menustrip中的任何常规工具一样正常激活,而不再显示此表单。
自定义登录表单的图像是:
当用户按下登录时,我想禁用该表单,即使用户再次按下该工具,也不会再显示该表单。
答案 0 :(得分:1)
您应该禁用菜单按钮。这是伪代码,接近真实 - 将起到作用:
bool _loggedOnALready;
void menustripLogon_click()
{
// if you want to disable menu - use this block
if (form.showdialog() == dialogresult.Ok)
{
menustripLogon.enabled = false;
}
// But if you want to be able to press the button but no form show:
if (!_loggedOnALready && (form.showdialog() == dialogresult.Ok) )
{
_loggedOnALready = true;
}
}
class formLogon
{
void Ok_click()
{
if (LogonSuccess())
{
this.dialogResult = dialogresult.Ok;
this.close();
}
else
{
this.dialogResult = dialogresult.Cancel;
// you probably want keep it open for retry
}
}
bool LogonSuccess()
{
// logon here
}
}