تماس با ما: 02166057992 چت آنلاین   ورود

آموزش: نحوه کارکردن با DoEvents


سلام عزیزان دیدم بعضی از دوستان هم مشکل دارن در نحوه استفاده از DoEvents و هم نمیدونند این چیه.
ببینید DoEvents این تابع رو وقتی دارین توی برنامتون از یک حلقه تکرار که ممکنه تموم شدنش طول بکشه استفاده میکنین توی حلقه فراخوانی کنین.حالا چکار میکنه؟

بطور عادی وقتی دارین توی یه حلقه تکرار(یا هر کدی!!) یکسری محاسبات رو انجام میدین تا زمانی که حلقه تموم نشه برنامتون در مقابل Message هایی که بش ارسال میشه عکس العملی انجام نمیده و همه عکس العمل ها رو بعد از تموم شدن حلقه انجام میده و یا اگه شما توی حلقه یه کدمربوط به چاپ کردن یه رشته روی فرم رو نوشته باشین عمل چاپ شدن رو بعد از تمام شدن حلقه مشاهده میکنین.به قولی تا زمان پایان حلقه برنامه هیچ Event ی انجام نمیده(البته این مساله 100 در 100 هم نیست).تابع DoEvents این کار رو براتون میکنه.این دو کد رو تست کنین :

فقط یک لیست باکس به برنامه اضافه کنید.

Private Sub Command1_Click()


Dim i As Long


Do While i < 10000000


i = i + 1


If i < 20 Then List1.AddItem i


Loop


End Sub
Private Sub Command1_Click()


Dim i As Long


Do While i < 10000000


i = i + 1


If i < 20 Then List1.AddItem i


DoEvents


Loop


End Sub

وقتی دکمه رو توی کد اول فشار میدین تا زمانی که حلقه تموم نشده نمیتونین اعضای اضافه شده رو توی لیست باکس ببینین یا فرم رو حرکت بدین.در صورتی که در کد دوم این طور نیست.



برنامه نویس
جهت کسب اطلاعات بیشتر به انجمن برنامه نویس مراجعه نمایید

نظرات شما

WhatsApp chat