Как обрабатывать событие закрытия формы в vb.net
я использовал приведенный ниже код, но он не показывает msgbox. Что не так с этим кодом ?
Private Sub frmSimple_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
Dim result = MsgBox("Are you sure you want to Exit ?", vbYesNo)
If result = DialogResult.Yes Then
me.Close()
End If
End Sub
6 ответов
этот код запускается после закрытия формы, когда она удаляется.
В зависимости от того, как вы показываете форму, она может вообще не удаляться.
вам нужно справиться с FormClosing
событие и установить e.Cancel
to True
Если вы хотите отменить закрыть.
Private Sub frmProgramma_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("Are you sur to close this application?", "Close", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Else
e.Cancel = True
End If
End Sub
или вот как я использую его каждый раз снова и снова...
Dim result = MsgBox("Are you sure you want to Exit ?", vbYesNo)
If result = vbYes Then
me.Close()
End If
Я думаю, что это более чистый и просто!
If MsgBox("Are you sure you want to Exit ?", vbYesNo) = vbNo Then e.Cancel = True
If MessageBox.Show("¿Exit?", "Application, MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = DialogResult.No Then
e.Cancel = True
End If