我有一些登录问题!想要一些建议C#

时间:2018-05-09 07:48:51

标签: c# winforms

if (username.Text == "" && password.Text == "")
{
    MessageBox.Show("Please Enter Username and Password");
}

if (!File.Exists(username.Text + ".txt"))
{
    err.SetError(username, "Username not exist"); //sets the error
    //MessageBox.Show("Please Enter Your Username");
}
else
{
    err.SetError(username, ""); //clears the error
    err.SetError(password, "");
    TextReader tr = new StreamReader(username.Text + ".txt");
    string pass = tr.ReadLine();
    if (pass == password.Text)
    {
        app.Show();
        this.Hide();
    }
    else
    {
        err.SetError(password, "Password Incorrect");
        // MessageBox.Show("Please Enter Your Password");
    }

当我使用空用户名和空密码测试登录时发生的问题,用户名和错误警告信息“请输入用户名和密码”显示。如何解决这个问题,以便在输入时什么都不显示消息框?当用户输入错误的用户名或密码时,警告会显示?

我目前正在使用C#Windows Forms。

2 个答案:

答案 0 :(得分:2)

问题是您的代码在第一个if语句后继续。

您可以在if语句中添加return

if (username.Text == "" && password.Text == "")
{
    MessageBox.Show("Please Enter Username and Password");
    return;
}

或者您可以将第二个if更改为else if

if (username.Text == "" && password.Text == "")
{
    MessageBox.Show("Please Enter Username and Password");
}
else if (!File.Exists(username.Text + ".txt"))
{
    err.SetError(username, "Username not exist"); //sets the error
    //MessageBox.Show("Please Enter Your Username");
} else {
  ....
}

这样,如果用户名和密码为空,则不会执行!File.Exists

答案 1 :(得分:1)

回归

试试这个:

        if (username.Text == "" && password.Text == "")
        {
            MessageBox.Show("Please Enter Username and Password");
            return;
        }

        if (!File.Exists(username.Text + ".txt"))
        {
            err.SetError(username, "Username not exist"); //sets the error
            //MessageBox.Show("Please Enter Your Username");
        }
        else
        {
           err.SetError(username, ""); //clears the error
            err.SetError(password, "");
            TextReader tr = new StreamReader(username.Text + ".txt");
            string pass = tr.ReadLine();
            if (pass == password.Text)
            {
                app.Show();
                this.Hide();
            }
            else
            {
                err.SetError(password, "Password Incorrect");
               // MessageBox.Show("Please Enter Your Password");
            }