Hàm DoEvents

Lưu ý: Hàm, phương pháp, đối tượng hoặc thuộc tính được mô tả trong chủ đề này bị tắt nếu dịch vụ biểu thức Microsoft Jet đang chạy trong chế độ sandbox, ngăn không cho đánh giá các biểu thức không an toàn tiềm ẩn. Để biết thêm thông tin về chế độ sandbox, hãy tìm kiếm "chế độ sandbox" trong trợ giúp.

Việc thực hiện để hệ điều hành có thể xử lý các sự kiện khác.

Cú pháp

Doevents ()

Chú thích

Hàm Doevents trả về số nguyên đại diện cho số lượng các biểu mẫu mở trong phiên bản độc lập của Microsoft Visual Basic, chẳng hạn như Visual Basic, Professional Edition. Doevents trả về bằng không trong tất cả các ứng dụng khác.

Doevents vượt qua điều khiển cho hệ điều hành. Điều khiển được trả về sau khi hệ điều hành đã hoàn thành xử lý các sự kiện trong hàng đợi và tất cả các phím trong hàng đợi phím sendđã được gửi đi.

Doevents là hữu ích nhất cho những việc đơn giản như cho phép người dùng hủy bỏ một quá trình sau khi bắt đầu, ví dụ như tìm kiếm một tệp. Đối với các quy trình chạy dài, hãy yielding vào bộ xử lý được thực hiện tốt hơn bằng cách sử dụng bộ hẹn giờ hoặc ủy nhiệm nhiệm vụ vào một thành phần ActiveX EXE. Trong trường hợp thứ hai, nhiệm vụ có thể tiếp tục hoàn toàn độc lập với ứng dụng của bạn và hệ điều hành sẽ chăm sóc đa nhiệm và thời gian slicing.

Bất kỳ lúc nào bạn tạm thời lợi dụng cho bộ xử lý trong một thủ tục sự kiện, hãy đảm bảo rằng các quy trình không được thực hiện lại từ một phần khác trong mã của bạn trước khi trả lời cuộc gọi đầu tiên; Điều này có thể khiến cho kết quả không thể đoán trước. Ngoài ra, không sử dụng Doevents nếu các ứng dụng khác có thể có thể tương tác với quy trình của bạn trong các cách thức không lường trước trong thời gian bạn đã mang theo điều khiển.

Ví dụ

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.

Ví dụ này sử dụng hàm Doevents để gây ra lợi nhuận cho hệ điều hành sau mỗi lần lặp lại 1000 của vòng lặp. Sự kiện doevents trả về số lượng biểu mẫu cơ bản dạng trực quan, nhưng chỉ khi ứng dụng host trực quan cơ bản.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.

Bạn cần thêm trợ giúp?

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×