Qual a diferença do comando Application.Exit(); para Close();?
Qual a diferença do comando Application.Exit(); para Close();?
Olá Phederic, beleza?
Cara, vamos lá. Em linhas gerais, o this.Close()
fecha o seu Form. O Aplication.Exit()
retorna um código de erro. O método ideal deve ser o Application.Exit()
. De acordo com a documentação, ele aguarda a finalização de todos as mensagens e laços, além de fechar todas as janelas executando o Form.OnClose()
.
O comando Environment.Exit()
irá, somente, matar o processo. Se você tiver, por exemplo, modificações que não foram salvas, elas serão perdidas. Além disso, nenhuma conexão ou propriedade será finalizada corretamente.
O comando Form.Close()
somente fecha o formulário. Se tiver algum outro Form aberto, ele não será finalizado.
É importante atender para o fato de que, em aplicações multithread, o Application.Exit()
não irá finalizar as suas threads (elas continuarão executando, mesmo que o formulário seja finalizado). É necessário que você realize a gestão desses processos, para evitar vazamentos de memória.
Então no caso se eu tiver trabalhando com banco de dados relacional o mais ideal para eu fechar as minhas telas é o Close();? Valeu pela a explicação.