Нужно при невыполнении условия завершить работу приложения, как это можно сделать? У меня WPF приложение, но также по возможности напишите как можно досрочно завершить работу и других видов приложений.
Есть несколько вариантов:
- закрыть главное окно вызвав на нём метод this.Close();
например главное окно в WPF приложении:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
-
через убийство текущего процесса используя
System.Diagnostics.Process.GetCurrentProcess().Kill();
-
через вызов метода Shutdown() / BeginInvokeShutdown() на экземпляре класса Application,
например:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Application.Current.Shutdown();
}
}
разницу между Shutdown() и BeginInvokeShutdown() можете почитать здесь
- или же просто
Application.Exit();
Большая часть из приведённых выше способов должна работать и с другими видами приложений
Так же приложение может быть закрыто при использовании System.Environment:
// Приложение завершается и возвращает ОС указанное параметром значение
System.Environment.Exit(0);
// Приложение моментально закрывается, предварительно записывая указанную
// через параметр строку в журнал событий.
System.Environment.FailFast("Приложение досрочно завершило свою работу!");