ฟังก์ชัน DoEvents

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

หมายเหตุ: ฟังก์ชัน วิธี วัตถุ หรือคุณสมบัติตามที่อธิบายในหัวข้อนี้ถูกปิดใช้งานถ้าบริการ Microsoft Jet นิพจน์กำลังทำงานในโหมด sandbox ซึ่งทำให้การประเมินนิพจน์ที่อาจไม่ปลอดภัย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด sandbox ค้นหา "โหมด sandbox" ในวิธีใช้

พักการดำเนินการเพื่อให้ระบบปฏิบัติการสามารถประมวลผลเหตุการณ์อื่น ๆ

ไวยากรณ์

DoEvents ( )

ข้อสังเกต

ฟังก์ชันDoEventsจะส่งกลับจำนวนเต็มที่แสดงถึงจำนวนของฟอร์มที่เปิดอยู่ในเวอร์ชันสแตนด์อโลนของ Microsoft Visual Basic เช่น Visual Basic, Professional Edition DoEventsส่งกลับเลขศูนย์ในโปรแกรมประยุกต์อื่น ๆ ทั้งหมด

DoEventsส่งผ่านตัวควบคุมกับระบบปฏิบัติการ ตัวควบคุมนั้นจะส่งกลับหลังจากระบบปฏิบัติเสร็จสิ้นการประมวลผลเหตุการณ์ในหมดคิว และแป้นพิมพ์ลัดทั้งหมดในคิวSendKeysได้ถูกส่ง

DoEventsเป็นประโยชน์มากที่สุดสำหรับสิ่งต่าง ๆ อย่างง่ายเช่นการอนุญาตให้ผู้ใช้เพื่อยกเลิกกระบวนการหลังจากที่นั่นได้เริ่ม ตัวอย่างเช่นการค้นหาไฟล์ สำหรับกระบวนการเรียกใช้เวลานาน ส่งไปยังตัวประมวลผลได้ดียิ่งขึ้นได้โดยการใช้ตัวจับเวลา หรือมอบหมายงานให้กับคอมโพเนนต์ ActiveX EXE ในกรณีหลัง งานสามารถดำเนินต่อทั้งหมดขึ้นอยู่กับแอปพลิเคชันของคุณ และดูแลระบบปฏิบัติการทำงานหลายอย่างเวลาแบ่ง

ใดก็ตามคุณ yield การประมวลผลภายในกระบวนงานเหตุการณ์ ชั่วคราวให้แน่ใจว่ากระบวนงาน จะไม่ได้ดำเนินการอีกครั้งจากส่วนอื่นของโค้ดของคุณก่อนที่สายแรกส่งกลับ ซึ่งอาจทำให้ผลลัพธ์ที่คาดไม่ถึง นอกจากนี้ ใช้DoEventsถ้าแอปพลิเคชันอื่น ๆ อาจอาจทำงานกับกระบวนงานของคุณในวิธีเมตริกซ์ในช่วงเวลาคุณมีเป็นตัวควบคุม

ตัวอย่าง

หมายเหตุ: ตัวอย่างที่ติดตามสาธิตการใช้ฟังก์ชันนี้ใน Visual Basic for Applications (VBA) มอดูล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ VBA เลือกอ้างอิงสำหรับนักพัฒนา ในรายการดรอปดาวน์ถัดจากค้นหา และใส่เงื่อนไขอย่าง น้อยหนึ่งในกล่องค้นหา

ตัวอย่างนี้ใช้ฟังก์ชันDoEventsเพื่อทำให้เกิดการดำเนินการเพื่อ yield หนึ่งครั้งซ้ำทุก 1000 วนรอบของระบบปฏิบัติการ DoEventsส่งกลับจำนวน ของ Visual Basic เปิดฟอร์ม แต่ก็ต่อเมื่อแอปพลิเคชันโฮสต์ Visual Basic

' 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.

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×