private void btnLogin_Click(object sender, EventArgs e)
{
if (txtLoginId.Text.Trim() == "")
{
MessageBox.Show("请输入用户名", "登陆提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtLoginId.Focus();
}
else if (txtLoginPwd.Text.Trim() == "")
{
MessageBox.Show("请输入密码","登陆提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
txtLoginPwd.Focus();
}
else if(cboLoginType.Text=="")
{
MessageBox.Show("请选择登陆类型","登陆提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
cboLoginType.Focus();
}
bool end = false;
end=validate(txtLoginId.Text,txtLoginPwd.Text,cboLoginType.Text);
if (end && cboLoginType.Text == "管理员")
{
UserHelper.LoginId = txtLoginId.Text;
teacher form1 = new teacher();
form1.Show();
this.Visible = false;//将当前窗口隐藏
}
else
{
MessageBox.Show("登陆名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
这样不就得了?
else if ((txtLoginld.Text != null || txtLoginld.Text != "") && (txtLoginPwd.Text != null || txtLoginPwd.Text != ""))
改成
else if ((txtLoginld.Text != null && txtLoginld.Text != "") && (txtLoginPwd.Text != null && txtLoginPwd.Text != ""))
你这段代码有得改,好好理理吧,不过直接的问题是上面,不过,那个else if根本就是多余。另外,txtLoginId.Text获得的始终是一个不为null的字串,所以你判断它是否为null,多余;要判断一个字串是否为空或者null,可以用string.IsNullOrEmpty(str)来判断,像你那样写,冗余。
private void btnEnd_Click(object sender, EventArgs e)
{
bool adminBool = false;
string amg = "";
if (ValidateInput())
{
switch (cboType.Text)
{
case "管理员":
adminBool = AdminService.GetamdinService(txtName.Text, txtPaw.Text, out amg);
if (adminBool)
{
TOHelp.Title = "管理员";
AdminForm admin = new AdminForm();
admin.Show();
this.Visible = false;
}
else
{
MessageBox.Show(amg);
}
break;
case "教员":
TOHelp.Title = "教员";
MessageBox.Show("登陆是教员窗口");
break;
case "学员":
TOHelp.Title = "学员";
MessageBox.Show("登陆是学员窗口");
break;
default:
MessageBox.Show("未开通 ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
}
}
private bool ValidateInput()
{
if(txtName.Text.Trim() == "")
{
MessageBox.Show("请输入用户名", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtName.Focus();
return false;
}
else if (txtPaw.Text.Trim() == "")
{
MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtPaw.Focus();
return false;
}
else if (cboType.Text.Trim() == "")
{
MessageBox.Show("请选择登录类型", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
cboType.Focus();
return false;
}
else
{
return true;
}
}
public static class AdminService
{
public static bool GetamdinService(string access,string paw,out string amg)
{
DataTable dt = AdminAccess.GetAdminAccess(access);
amg = "登陆成功";
if (dt.Rows.Count == 0)
{
amg = "账号输错";
return false;
}
else
{
if (dt.Rows[0]["loginPwd"].ToString() != paw)
{
amg = "密码输错";
return false;
}
return true;
}
}
}
你看一下。和你所要的。一样。。这是我刚才写的。。。有啥不明白。给我留言。。
if (txtLoginld.Text == null||txtLoginld.Text=="")
{
MessageBox.Show("请输入用户名","提示",MessageBoxButtons.OK
,MessageBoxIcon.Information);
txtLoginld.Focus();
}
你看一下你写的.就算他满足了你的条件还是会执行到下面去的.
你要加一个
f (txtLoginld.Text == null||txtLoginld.Text=="")
{
MessageBox.Show("请输入用户名","提示",MessageBoxButtons.OK
,MessageBoxIcon.Information);
txtLoginld.Focus();
return;
}
下面的也类似..都要加一个.
按照你的思路 当全为空是 有相应的判断 而不是进行别的操作 不就可以了?
你是北大青鸟的学生吧!
这题我都见过!