Rabu, 25 Mei 2011

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 , Me
    sehingga ketika Form1 ditutup (Form2 belum ditutup), maka nilai ini dideteksi ketika Form2 ditutup.
Contoh, ketikkan kode berikut di bagian 'Form_QueryUnload' dari Form.
If UnloadMode = vbAppTaskManager Then
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()
Contoh, ketikkan kode berikut di bagian 'Form1_FormClosed' dari Form.
If e.CloseReason = CloseReason.TaskManagerClosing Then
MsgBox("Form ditutup melalui TaskManager !")
End If

Label: , , ,

0 Komentar:

Posting Komentar

Pengunjung yang baik selalu meninggalkan jejak berupa komentar. :)

Berlangganan Posting Komentar [Atom]

<< Beranda