請問各位高手一個問題向大家請教一個問題,就是,在登錄的時候輸入用戶名和密碼三次,如果三次均輸入不正確,
請問各位高手一個問題
向大家請教一個問題,就是,在登錄的時候輸入用戶名和密碼三次,如果三次均輸入不正確,將不能再次輸入,請問該如何去判斷輸入的次數為三次?!再此謝過了!
[解决办法]
- C# code
int times = 0;bool result = false;while (!result && times < 3){ string username = xxx; string password = yyy; result = login(username, password); times++;}
[解决办法]
代碼被注釋了,還能夠執行?第一次聽說。
[解决办法]
一般3次锁定,都是配合数据库实现的。加一列记录错误次数
[解决办法]
[解决办法]
判断用户登录三次,这种代码很多。我希望你去搜索。这个让别人给你写代码,原本有点容易“被鄙视”。但是我看了你写的代码,我理解了,你比大多数业余爱好者还没有基础。
编程程序,语言不重要,关键是知道机制。当你执行了mf.Show()之后,就失去捕获其登录事件。有关业务逻辑判断代码是处理那个mf的登录事件时执行的。当你执行了this.Visible = false;之后,还怎么可能再执行btnLogin_Click的部分呢?而这个for循环的业务逻辑概念,我实在是不知道说什么好。
看到你的代码,我混乱了。
[解决办法]
就失去捕获其登录事件 --> 就是去捕获其登录事件
唉,原本不想再回复了,可惜写了错别字,不得不再回复一个帖子。给你写个可能的例子:
- C# code
pivate int errCnt=0;private void btnLogin_Click(object sender, EventArgs e) { AdminSys aSys=new AdminSys(); string adminName = this.txtAdminName.Text.Trim(); string adminPwd = this.txtAdminPwd.Text.Trim(); aSys = AdminSysManager.QueryAdminSysByAdminNameAndAdminPwd(adminName,adminPwd); if (aSys != null && aSys.AdminName == adminName && aSys.AdminPwd == adminPwd) { MainForm mf = new MainForm(); mf.Show(); mf.Close += (sd,arg)=>{ this.Close(); }; this.Visible = false; } else { errCnt++; if(errCnt>3) throw new Exception("超过3次登录错误!"); else MessageBox.Show("用户名或者密码错误,请重新登录!"); } }
[解决办法]
winform的话用个变量来记录登陆次数,比如:
- C# code
private int count = 0;... else { if (count < 3) { txtAdminName.Text = ""; txtAdminName.Focus(); txtAdminPwd.Text = ""; count++; } else { MessageBox.Show("aaa"); } } 