Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ملاحظة: يتم تعطيل الدالة أو الأسلوب أو الكائن أو الخاصية الموضحة في هذا الموضوع إذا كانت خدمة تعبير Microsoft Jet قيد التشغيل في وضع بيئة الاختبار المعزولة، مما يمنع تقييم التعبيرات التي يحتمل أن تكون غير آمنة. لمزيد من المعلومات حول وضع بيئة الاختبار المعزولة، ابحث عن "وضع بيئة الاختبار المعزولة" في التعليمات.

ينتج التنفيذ بحيث يمكن لنظام التشغيل معالجة الأحداث الأخرى.

بناء الجملة

DoEvents ( )

ملاحظات

ترجع الدالة DoEvents عددا صحيحا يمثل عدد النماذج المفتوحة في إصدارات مستقلة من Microsoft Visual Basic، مثل Visual Basic، Professional Edition. ترجع DoEvents صفرا في جميع التطبيقات الأخرى.

تمرر DoEvents التحكم إلى نظام التشغيل. يتم إرجاع عنصر التحكم بعد انتهاء نظام التشغيل من معالجة الأحداث في قائمة الانتظار الخاصة به وتم إرسال جميع المفاتيح في قائمة انتظار SendKeys .

تعد DoEvents مفيدة للغاية لأشياء بسيطة مثل السماح للمستخدم بإلغاء عملية بعد بدء تشغيلها، على سبيل المثال البحث عن ملف. بالنسبة للعمليات طويلة الأمد، يتم تحقيق العائد إلى المعالج بشكل أفضل باستخدام مؤقت أو تفويض المهمة إلى مكون ActiveX EXE. في الحالة الأخيرة، يمكن أن تستمر المهمة بشكل مستقل تماما عن التطبيق الخاص بك، ويهتم نظام التشغيل بالتعددية وتقطيع الوقت.

في أي وقت تقوم فيه بالتنازل مؤقتا إلى المعالج ضمن إجراء حدث، تأكد من عدم تنفيذ الإجراء مرة أخرى من جزء مختلف من التعليمات البرمجية قبل إرجاع الاستدعاء الأول؛ قد يتسبب هذا في نتائج غير متوقعة. بالإضافة إلى ذلك، لا تستخدم DoEvents إذا كانت التطبيقات الأخرى قد تتفاعل مع الإجراء الخاص بك بطرق غير متوقعة خلال الوقت الذي قمت فيه بالتحكم.

مثال

ملاحظة: توضح الأمثلة التالية استخدام هذه الدالة في وحدة Visual Basic for Applications (VBA). لمزيد من المعلومات حول العمل مع VBA، حدد مرجع المطور في القائمة المنسدلة بجوار البحث وأدخل مصطلحا واحدا أو أكثر في مربع البحث.

يستخدم هذا المثال دالة DoEvents للتسبب في التنفيذ للرتج إلى نظام التشغيل مرة واحدة كل 1000 تكرار للحلقة. ترجع DoEvents عدد نماذج Visual Basic المفتوحة، ولكن فقط عندما يكون التطبيق المضيف هو Visual Basic.

' Create a variable to hold number of ' Visual Basic forms loaded and visible.Dim I, OpenFormsFor 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 IfNext I    ' Increment loop counter.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.