hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article378.htm

Không rõ

Không cho người dùng tắt ứng dụng của bạn

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


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com