Capturando o evento Click do botão Fechar

Uma das práticas utilizando esse evento é solicitar uma confirmação de encerramento do sistema somente ao clicar no botão fechar.
Caso exista algum método de encerramento incluso no sistema não precisará passar pela mensagem de confirmação.
Ou também se for preciso desligar o computador sem essa mensagem.


Exemplo de mensagem de confirmação:












Código Fonte:

''' <summary>
''' Define ou retorna se o sistema deverá ser encerrado
''' </summary>
Private PodeFechar As Boolean = True

' Constante do botão fechar
Private Const WM_CLOSE As Integer = CInt(&H10)

Protected Overrides Sub WndProc(ByRef pM As System.Windows.Forms.Message)
If pM.Msg = WM_CLOSE Then
If MessageBox.Show("Deseja encerrar o sistema?", _
"Encerrar sistema!", _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = _
Windows.Forms.DialogResult.Yes Then
Me.PodeFechar = True
Else
Me.PodeFechar = False
End If
End If
MyBase.WndProc(pM)
End Sub

Private Sub frmEventoFechar_FormClosing(ByVal sender As Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) _
Handles Me.FormClosing
If Me.PodeFechar = False Then
e.Cancel = True
Me.PodeFechar = True
End If
End Sub

1 comentários:

Rodrigo Ferro disse...

Excelente kra... parabéns !!!

Postar um comentário