Trước khi nhà bạn nối mạng Internet chắc bạn cũng một thời ngồi suốt ngày ở các dịch vụ. Ở đó người ta thường dùng một số chương trình quản lý phòng máy như Internet Cafe của PA Vietnam...và bạn không tài nào tắt được chúng ngay cả khi bạn dùng TaskManager để tắt. Đối với người khác thì chẳng có vấn đề gì nhưng bạn là người yêu lập trình ắt hẳn sẽ tự hỏi làm sao để chương trình của bạn cũng có chức năng tương tự. Bí quyết ở đây chả có gì là quá cao siêu. Trước khi unload một form VB sẽ gọi đến sự kiện Form_QueryUnload và bạn sẽ chặn ngay chỗ này để thực hiện công việc.
Bạn hãy tạo một Project mới và thêm vào dòng mã sau:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
End Sub
Sau đó chạy chương trình bạn sẽ không tài nào tắt được, trừ phi bạn nhấn Stop. Muốn cho chương trình trở thành bình thường bạn chỉ việc gán Cancel = False.
Unloadmode sẽ cho bạn biết ''ai'' và ''vì sao'' tắt chương trình.
Giá trị
Mô tả
vbFormControlMenu = 0
Unload từ control menu của form
vbFormCode = 1
Unload bằng mã
vbAppWindows = 2
Unload khi Windows Shutdown
vbAppTaskManager = 3
Unload bằng TaskManager
vbFormMDIForm = 4
Unload khi form MDI unload
Phương pháp này còn đặc biệt hữu dụng khi bạn cần hỏi xem có phải là người dùng muốn thoát hay không. Sau đây là ví dụ:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
ans = MsgBox(''Co phai ban muon thoat khoi chuong trinh ?'', vbYesNo)
If ans = vbYes Then
Cancel = False
Else
Cancel = True
End If
End Sub