Конец приложения в C # - PullRequest
0 голосов
/ 20 февраля 2019

В качестве примера ниже я использую оператор If для своего Приложения, где, если вы нажмете Да, Приложение должно закрыться.Я нажимаю Да и Нет, и приложение просто продолжается независимо.Кто-нибудь знает, почему это может произойти?

if (diff_ULNDOB.Any())
{
     DialogResult result1 = System.Windows.Forms.MessageBox.Show("Cannot proceed with Cross Year checks! Please see Workbook " + output + "." + " Do you wish to close the Application?", "Error",
     MessageBoxButtons.YesNo);

    if (result1 == DialogResult.Yes)
    {
       System.Windows.Forms.Application.Exit();           
    }

    Progress.Error = true;
    break;
}

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я бы использовал Application.Exit(), так как это более чистый способ, чем Environment.Exit(0).

Преимущества использования Application.Exit() в том, что он позволяет форме выполнять любые процессы очистки, такие как Form.OnClose, которые могут включать закрытие соединений с базой данных и обработчиков файлов.

Enivornment.Exit(0) - это то же самое, что и прямое уничтожение процесса, поэтому, если вы используете его, убедитесь, что все соединения и файлы были освобождены должным образом.


Выше было для приложений Windows Forms,Если это консольное приложение, лучший способ выхода из приложения - вернуть соответствующий код завершения в методе Main.

0 голосов
/ 20 февраля 2019

Добавьте Environment.Exit(0);, если хотите закрыть приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...