我有一登陆窗体
输入三次不正确的密码就退出项目
为了防止单击登陆窗体关闭按钮跳过输入进入主窗体
我禁用了关闭按钮
private void Login_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
    
        }
这样就有一个问题那就是不够我输错了几回密码和姓名
都退不出整个项目了!
怎样解决啊!

解决方案 »

  1.   

    在close里面写关闭整个程序啊。输错密码自然就不能用程序了。
      

  2.   

    用变量进行判断,输入三次错误后,真接Application.Close()就行。
      

  3.   

    我想这样在判断密码和用户名正确的时候
    如果正确
    就把Login_FormClosing事件里的e.Cancel改成flase;
    让其余的时候Login_FormClosing事件里的e.Cancel一直是true
    不知道怎么写! private void Login_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;            
                
            }
      

  4.   

    在登陆窗体的FORM_CLOSING或者FROM_CLOSED事件中加入关闭主窗体的代码就可以了。
      

  5.   

    private void Login_FormClosing(object sender, FormClosingEventArgs e)--登陆窗体关闭事件
      {
      e.Cancel = true;    
        
      }
    e.Cancel = true整个项目关闭不了
      

  6.   

    我不明白啊,他怎么可能跳过你的登录窗体呢?你在登录成功以后再new主窗体,再show啊,他直接关闭你登录窗体,都没new呢,怎么可能访问主窗体
      

  7.   

    public void ButtonLogin(...)
    {
        //如果输入错误
        try_time++;
    }
    int try_time = 0;
    bool login_successful = false;
    private void Login_FormClosing(...)
    {
        e.Cancel = try_time<3 && !login_successful;//不足3次,登录不成功的时候不允许关闭
    }不过这样做貌似也很不合理。
    应该是想关就关,如果没登录成功。就不打开你的主界面。