menustrip和自定义消息框

时间:2013-11-22 01:32:03

标签: c# winforms

我创建了一个自定义登录表单。当用户点击menustrip工具时,我会显示登录表单。如果他输入正确的用户名和密码,我希望关闭并禁用此表单,并且menustrip上的工具将像menustrip中的任何常规工具一样正常激活,而不再显示此表单。

自定义登录表单的图像是:

enter image description here

当用户按下登录时,我想禁用该表单,即使用户再次按下该工具,也不会再显示该表单。

1 个答案:

答案 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
    }
}