VB 
.NET 
- Exemplos de fechamento de formulários
    
    
    ![]()  | 
    
     Hoje temos um projeto que mostra 11 exemplos de fechamento de formulários usando a linguagem VB .NET em um projeto Windows Forms com efeitos especiais.  | 
  
No VB .NET podemos usar o evento FormClosing e a propriedade CloseReason para saber porque o usuário esta fechando o formulário.
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 usa o evento FormClosing para obter qual o motivo para o fechamento do formulário :
    Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.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 
  | 
  
A seguir temos um projeto exemplo que mostra 11 diferentes formas de fechar um formulário usando VB .NET e alguns efeitos especiais.
Recursos usados :
Fechando formulários
Abra o VS Express 2013 for Windows Desktop e clique em New Project;
A seguir selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome FecharFormulario e clique no botão OK;
A seguir selecione o formulário padrão form1.vb e partir da ToolBox, os seguintes controles:
11 controle Buttons

Basta executar o projeto, e, clicando em cada um dos botões, verificar a forma de fechamento e o efeito aplicado.
Pegue o projeto 
completo aqui:  
 
 
Fechar_App.zip
O que era desde o 
princípio, o que ouvimos, o que vimos com os nossos olhos, o que temos 
contemplado, e as nossas mãos tocaram da Palavra da vida
(Porque a vida foi manifestada, e nós a vimos, e testificamos dela, e vos 
anunciamos a vida eterna, que estava com o Pai, e nos foi manifestada);
O que vimos e ouvimos, isso vos anunciamos, para que também tenhais comunhão 
conosco; e a nossa comunhão é com o Pai, e com seu Filho Jesus Cristo.
1 João 1:1-3
| 
    
    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 Twitter 
Referências: