当用户什么都不输入时,错误消息不会显示。它什么也没做。我是否将else消息放在错误的位置?
private void btnLogin2_Click(object sender, EventArgs e)
{
if (txtLogin2.Text != "" && txtPassword2.Text != "")
{
int AID = Convert.ToInt32(txtLogin2.Text);
Entities2 db = new Entities2();
Administrator admin = db.Administrators.Where(x => x.AID == AID && x.Password == txtPassword2.Text).SingleOrDefault();
if (admin != null)
{
Admin admini = new Admin();
admini.ShowDialog();
}
else
{
int value;
if (int.TryParse(txtLogin2.Text, out value)) {
MessageBox.Show("User ID not in valid format");
}
if (txtLogin2.Text == "" )
{
MessageBox.Show("Please enter a User ID");
}
if (txtPassword2.Text == "") {
MessageBox.Show("Please enter a valid Password");
}
}
}
}
当用户什么都不输入时
然后,第一条if
语句的计算结果为false:
if (txtLogin2.Text != "" && txtPassword2.Text != "")
这意味着将无法到达此函数中的任何代码。您可能希望将它们放在函数的开头:
if (txtLogin2.Text == "" )
{
MessageBox.Show("Please enter a User ID");
}
if (txtPassword2.Text == "") {
MessageBox.Show("Please enter a valid Password");
}
if (txtLogin2.Text != "" && txtPassword2.Text != "")
{
//... the rest of the code, minus the if statements above
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句