 VB 
.NET - Fechando o formulário da 
sua aplicação
 VB 
.NET - Fechando o formulário da 
sua aplicação
|  | Hoje veremos como fechar o formulário de uma aplicação VB .NET usando o evento FormClosing. | 
	Já nos 
tempos do VB6 podíamos saber porque o usuário estava fechando o formulário da 
aplicação. Bastava usar o evento QueryUnload.
Recordando as constantes usadas no QueryUnload:
| Constante | Valor | Descrição | 
| vbFormCode | 1 | O método Unload foi invocado no código | 
| vbAppWindows | 2 | A sessão atual do Windows foi encerrada. | 
| vbFormMDIForm | 4 | O formulário MDI filho esta sendo fechado porque o formulário MDI foi fechado. | 
| vbFormControlMenu | 0 | O usuário usou o comando Close menu de comandos no formulário. | 
| vbAppTaskManager | 3 | A janela da tarefas do windows esta fechando a aplicação. | 
Na nova versão do VB.NET , o VB 2005, podemos usar o evento FormClosing e a propriedade CloseReason para fazer a mesma coisa.
A propriedade CloseReason retorna vários valores conforme o motivo pelo qual o formulário esta sendo fechado como fazia o VB6 com o QueryUnload.
Vejamos então quais os valores da enumeração CloseReason :
| Enumeração | Descrição do motivo do fechamento do formulário para cada valor | 
| ApplicationExitCall | O fechamento esta sendo feito via chamada a Application.Exit() | 
| MdiFormClosing | O formulário MDI do formulário esta sendo fechado | 
| None | causas desconhecidas | 
| FormOwnerClosing | O formulário proprietário esta sendo fechado | 
| TaskManagerClosing | O administrador de tarefas do Windows esta fechando o formulário | 
| UserClosing | O fechamento esta sendo feito via Close ou clicando no X do menu de controle | 
| WindowsShutDown | O Windows esta sendo encerrado | 
Nota:
| Apenas para recordar: 
    O evento Closing 
ocorre quando o formulário esta sendo fechado. Quando isto ocorre todos os 
recursos criados com o objeto são liberados e o formulário é liberado. Se 
cancelarmos este evento o formulário permanece aberto. Desta forma para cancelar 
o fechamento de um formulário no VB.NET definimos a propriedade Cancel do 
evento CancelEventArgs passado para o tratador de eventos como igual a 
True. Lembrando também que os eventos Form.Closed e Form.Closing não são disparados quando o método Application.Exit é chamado para encerrar a aplicação. | 
Abaixo o código para VB .NET :
| Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickMe.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Application.Exit() End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing MessageBox.Show(e.CloseReason.ToString) Select Case e.CloseReason Case CloseReason.ApplicationExitCall Case CloseReason.FormOwnerClosing Case CloseReason.MdiFormClosing Case CloseReason.None Case CloseReason.TaskManagerClosing Case CloseReason.UserClosing Case CloseReason.WindowsShutDown End Select End Sub End Class 
 | 
Até 
mais ver...  
 
 
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? | 
             Gostou ?
  Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
 
Referências: