Mendeteksi Cara Penutupan Form
Dalam VB ketika sebuah Form ditutup / di-close, maka Anda bisa mendeteksi cara bagaimana Form tersebut ditutup. Apakah ditutup secara normal, atau ditutup lewat TaskManager, atau mungkin ditutup ketika komputer di-shutdown.
Berikut ini bagaimana cara penerapannya.
[ VB 6.0 ]
Nilai yang dideteksi adalah nilai variabel 'UnloadMode' yang terdapat di event 'Form_QueryUnload'. Berikut ini nilai-nilai nya :
- vbFormControlMenu atau 0, nilai ketika Form ditutup melalui tombol close-nya (tombol x merah).
- vbFormCode atau 1, nilai ketika Form ditutup melalui kode VB. Contoh :
Unload Form1
- vbAppWindows atau 2, nilai ketika Form ditutup dikarenakan komputer di-shutdown.
- vbAppTaskManager atau 3, nilai ketika Form ditutup melalui TaskManager.
- vbFormMDIForm atau 4, nilai ketika Form (sbg Form Child) ditutup karena Form MDI-nya ditutup.
- vbFormOwner atau 5, nilai ketika Form ditutup karena Form Owner-nya ditutup. Misalnya ada dua Form (Form1 dan Form2). Kemudian Form2 di-load melalui Form1 dengan kode :
Form2.Show , Mesehingga ketika Form1 ditutup (Form2 belum ditutup), maka nilai ini dideteksi ketika Form2 ditutup.
If UnloadMode = vbAppTaskManager Then
MsgBox "Form ditutup melalui TaskManager !"
End If
MsgBox "Form ditutup melalui TaskManager !"
End If
[ VB .NET ]
Nilai yang dideteksi adalah nilai properti 'e.CloseReason' yang terdapat di event 'Form1_FormClosing' atau di 'Form1_FormClosed'. Berikut ini nilai-nilai nya :
- None atau 0, nilai ketika Form ditutup tanpa diketahui sebabnya.
- WindowsShutDown atau 1, nilai ketika Form ditutup dikarenakan komputer di-shutdown.
- MdiFormClosing atau 2, nilai ketika Form (sbg Form Child) ditutup karena Form MDI-nya ditutup.
- UserClosing atau 3, nilai ketika Form ditutup melalui tombol close-nya (tombol x merah) atau ditutup melalui kode VB. Contoh :
Form1.Close
- TaskManagerClosing atau 4, nilai ketika Form ditutup melalui TaskManager.
- FormOwnerClosing atau 5, nilai ketika Form ditutup karena Form Owner-nya ditutup. Misalnya ada
dua Form (Form1 dan Form2). Kemudian Form2 di-load melalui Form1
dengan kode :
Form2.Show(Me)sehingga ketika Form1 ditutup (Form2 belum ditutup), maka nilai ini dideteksi ketika Form2 ditutup.
- ApplicationExitCall atau 6, nilai ketika Form ditutup melalui kode berikut :Application.Exit()
If e.CloseReason = CloseReason.TaskManagerClosing Then
MsgBox("Form ditutup melalui TaskManager !")
End If
MsgBox("Form ditutup melalui TaskManager !")
End If
0 Komentar:
Posting Komentar
Pengunjung yang baik selalu meninggalkan jejak berupa komentar. :)
Berlangganan Posting Komentar [Atom]
<< Beranda