закрыть форму
Существует много способов выйти из программы WinForm на С#, например: this.Close(); Application.Exit(); Application.ExitThread(); System.Environment.Exit(0); Давайте рассмотрим его подробно.
1.this.Close(); Просто закройте текущее окно.Если это не главное окно, программа не может быть завершена, а если есть управляемый поток (неосновной поток), она не может выйти чисто;
2.Application.Exit(); Принудительное прерывание всех сообщений и выход из всех форм, но если есть управляемый поток (не основной поток), он не может завершиться корректно;
3.Application.ExitThread(): Принудительно прерывать все сообщения в вызывающем потоке, а также сталкиваться с проблемой, что другие потоки не могут корректно выйти;
4.System.Environment.Exit(0) Это самый тщательный метод выхода.Независимо от того, какой поток принудительно завершается, программа завершается очень чисто.
В событии FormClosed основной формы используйтеSystem.Environment.Exit(0), конец всему!
private void frmMain_FormClosed(object sender, FormClosedEventArgs e)
{
if (tip != null)
{
tip.Dispose();
}
Dispose();
System.Environment.Exit(0);
}