1.Если вы хотите заблокировать текущую функцию и дождаться закрытия LoginForm, используйте ShowDialog () вместо Show (). Таким образом, после закрытия формы входа у вас есть доступ к логину / паролю:
loginForm.ShowDialog();
Username = loginForm.LoginUserName;
Password = loginForm.LoginPassword;
if(string.IsNullOrEmpty(Username) || string.IsNullOrEmpty(Password))
{
return;
}
2. Я предлагаю использовать string.IsNullOrEmpty()
для проверки, введены ли логин / пароль.
3. Вместо if (CheckBoxSave.Checked == true)
можно написать if (CheckBoxSave.Checked)
4.Если у вас есть состояние, которое оценивается как True / False, например if (CheckBoxSave.Checked == true)
в противном случае не используйте другой if
как else if (CheckBoxSave.Checked == false)
Если что-то не так, тогда это должно быть ложное использование
if (CheckBoxSave.Checked)
{
...
}
else
{
...
// checkbox is not checked
}
аналогично для if (testingConnection == true)
Вы также можете немного изменить свой метод LoginBtn_Click(object sender, EventArgs e)
:
private void LoginBtn_Click(object sender, EventArgs e)
{
userName = UserNameTxt.Text;
passWord = PasswordTxt.Text;
if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(passWord))
{
UserNameTxt.BackColor = Color.LightYellow;
PasswordTxt.BackColor = Color.LightYellow;
UserNameTxt.ForeColor = Color.Red;
PasswordTxt.ForeColor = Color.Red;
MessageBox.Show("Du måste ange ett användarnamn och Lösenord!");
return;
}
IsServerConnected();
if (testingConnection)
{
if(CheckBoxSave.Checked)
{
Properties.Settings.Default.UserName = UserNameTxt.Text;
Properties.Settings.Default.UserPass = PasswordTxt.Text;
Properties.Settings.Default.Save();
}
DialogResult = DialogResult.OK;
}
else
{
UserNameTxt.BackColor = Color.LightYellow;
PasswordTxt.BackColor = Color.LightYellow;
UserNameTxt.ForeColor = Color.Red;
PasswordTxt.ForeColor = Color.Red;
MessageBox.Show("Fel användarnamn eller lösenord");
}
}
Таким образом, loginForm.ShowDialog () будет DailogResult.OK, только если вход выполнен успешно и имя пользователя / пароль всегда будут установлены.