0
我已经创建了一个自定义登录表单。当用户点击菜单栏工具时,我会显示登录表单。如果他输入了正确的用户名和密码,我希望这个表单被关闭和禁用,并且菜单栏上的工具将正常激活,如同菜单栏中的任何常规工具,而不再显示此表单。menustrip和自定义消息框
自定义登录表单的形象是:
当登录用户按下,我想禁用的形式,不要再即使用户再次按下工具上显示。
我已经创建了一个自定义登录表单。当用户点击菜单栏工具时,我会显示登录表单。如果他输入了正确的用户名和密码,我希望这个表单被关闭和禁用,并且菜单栏上的工具将正常激活,如同菜单栏中的任何常规工具,而不再显示此表单。menustrip和自定义消息框
自定义登录表单的形象是:
当登录用户按下,我想禁用的形式,不要再即使用户再次按下工具上显示。
您应该可能禁用菜单按钮。这是伪代码,接近真实 - 将做的伎俩:
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
}
}
你到目前为止尝试过什么?在登录表单上创建一个公共属性(如IsLoggedIn)。如果登录成功,请将该属性设置为“True”并关闭表单。当控制权返回到菜单条点击事件时,只需在处理登录表单实例之前检查该值,如果为真,则禁用该特定菜单项,以使其不能再次单击。没有更多的代码或什么的,我只是在黑暗中刺... –