Есть первая форма Input.
sqlConnection = new SqlConnection(sql.get());
try
{
sqlConnection.Open();
List<Staff> staff = new List<Staff>();
SqlCommand command = new SqlCommand("SELECT id, name, surname, patronymic FROM staff WHERE type = '1' AND disabled = '0'", sqlConnection);
SqlDataReader sqlReader = command.ExecuteReader();
while (sqlReader.Read())
{
staff.Add(new Staff {
id = (int)sqlReader["id"],
title = (string)sqlReader["surname"] + " " + (string)sqlReader["name"] + " " + sqlReader["patronymic"].ToString()
});
}
comboBoxLogin.DataSource = staff;
comboBoxLogin.DisplayMember = "title";
comboBoxLogin.ValueMember = "id";
sqlConnection.Close();
}
catch (Exception err)
{
applog.write(err);
DialogResult error = MessageBox.Show("Получить список администраторов не удалось, проверьте настройки подключения MS SQL Server. Открыть настройки MS SQL?", "Ошибка", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
if (error == DialogResult.Yes)
{
Form setting = new setting();
setting.Owner = this;
setting.Show();
}
if (error == DialogResult.No)
Application.Exit();
}
Если к БД не получилось подключится, то открываем настройки. После того, как форму настроек закрыли нужно перезапустить программу.
Делаю так:
private void setting_Closed(object sender, FormClosedEventArgs e)
{
Application.Restart();
}
Но если человек ввел настройки и опять не верные, то программа по каким-то причинам открывает два сообщения.
Можете объяснить почему так происходит?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей