Řízené zavírání aplikace.
Přidáno: 3.11.2007
Kategorie: VB.NET - Komponenty
Autor: Škývara Pavel
Jistě jste se setkali s aplikací, která nešla zavřít. Nefungovali křížky a podobné záležitosti.
Čím je to způsobené? U každé aplikace, pokud je zavírána je možné vyvolat událost Me.FormClosing. Řídící parametr jsou "eventArgs".
Nastavením eventArgs.Cancel = True se aplikace nikdy nezavře (Pozor na to)
Můžeme též zjistit kdo se pokusil naší aplikaci zavřit. K tomu slouží eventArgs.CloseReason.
Přiklad je snad dostačující.
Hodně štěstí.
Private Sub Form1_FormClosing(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim UnloadMode As System.Windows.Forms.CloseReason = eventArgs.CloseReason
Dim Cancel As Boolean = eventArgs.Cancel
If UnloadMode = CloseReason.ApplicationExitCall Then eventArgs.Cancel = False
If UnloadMode = CloseReason.FormOwnerClosing Then eventArgs.Cancel = False
If UnloadMode = CloseReason.MdiFormClosing Then eventArgs.Cancel = False
If UnloadMode = CloseReason.None Then eventArgs.Cancel = False
If UnloadMode = CloseReason.TaskManagerClosing Then eventArgs.Cancel = False
If UnloadMode = CloseReason.UserClosing Then
Dim x As String
x = MsgBox("Ukončit aplikaci?", vbYesNo, "Ukončení aplikace")
If x = vbNo Then Cancel = True
eventArgs.Cancel = Cancel
End If
If UnloadMode = CloseReason.WindowsShutDown Then eventArgs.Cancel = False
End Sub