none
Завершить работу приложения RRS feed

  • Вопрос

  • Доброго времени суток!

    Кусок кода, который должен завершить работу приложения если пользователь не найден:

    if (dsResults == null) // Проверка на существование пользователя
    {
        MessageBox.Show("Пользователь \"" + userName + "\" не найден. Предоставьте текст ошибки в службу технической поддержки",
                        "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        Application.Exit();
    }
    Но приложение продолжает выполнятся и естественно завершается ошибкой. Пробовал this.Dispose(); с тем же результатом. Как можно корректно завершить выполнение приложения?
    28 октября 2013 г. 10:34

Ответы

Все ответы

  • Добрый день.

    У вас это сообщение показывается из формы. Вот и закройте эту форму. Если она у вас главная, то закроется и приложение. Если нет, то необходимо закрыть главную форму.

    • Предложено в качестве ответа YatajgaEditor 28 октября 2013 г. 11:19
    28 октября 2013 г. 10:46
    Отвечающий
  • Добрый день.

    У вас это сообщение показывается из формы. Вот и закройте эту форму. Если она у вас главная, то закроется и приложение. Если нет, то необходимо закрыть главную форму.

    У меня одна форма, this.Close(); тоже не помогает
    28 октября 2013 г. 13:01
  • Значит у вас запущены какие то потоки, которые необходимо остановить. Или не обработались все события, которые подписаны во всех формах.

    Попробуйте вызвать Application.DoEvents() перед закрытием.

    28 октября 2013 г. 13:14
    Отвечающий
  • Environment.Exit(0);
    • Помечено в качестве ответа Rinat Moustafin 29 октября 2013 г. 10:03
    29 октября 2013 г. 8:59
  • Значит у вас запущены какие то потоки, которые необходимо остановить. Или не обработались все события, которые подписаны во всех формах.

    Попробуйте вызвать Application.DoEvents() перед закрытием.


    Да, действительно, переместил весь код на событие Form1_Load и все заработало как надо.
    29 октября 2013 г. 10:02