06-10-12, 10:41 PM
الحدث DoWork هو الحدث الافتراضي للعنصر BackgroundWorker
وهو المسئول عن تنفيذ العملية - ويكتب تحته العملية Statement
======================================
عندما تريد تشغيل العنصر لكى يبدأ فى عمله تنادى عليه بالكود
=====================================
لنقوم بالمثال التالى لنجرب الأداة سوياً
اكتب هذا الكود تحت الحدث الافتراضى للعنصر
ضع زر Button واكتب له هذا الحدث
ضع مربع نص TextBox على الفورم
شغل التطبيق ونفذ الأمر Button
وابدأ اكتب فى TextBox
ستجد أن العملية التى تحت العنصر BackgroundWorker تعمل فى مسار دون تعطيل الفورم
بحيث يمكنك الكتابة فى مربع النص TextBox والتعامل مع الفورم عادى جداً
ملحوظة :
ربما كود اطلاق صوت Beep وعمل حلقة لا نهائية بعدم وصولها للرقم 100 كما فى المثال السابق ليس احترافي بصورة كاملة - لكن أردنا توضيح المثال بصورة بسيطة لكى نفهم عمل العنصر BackgroundWorker
وهو المسئول عن تنفيذ العملية - ويكتب تحته العملية Statement
كود :
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
' Statement
End Sub======================================
عندما تريد تشغيل العنصر لكى يبدأ فى عمله تنادى عليه بالكود
كود :
Me.BackgroundWorker1.RunWorkerAsync()=====================================
لنقوم بالمثال التالى لنجرب الأداة سوياً
اكتب هذا الكود تحت الحدث الافتراضى للعنصر
كود :
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
For i As Integer = 0 To 100
Beep()
If i = 99 Then i = 0
Next
End Subضع زر Button واكتب له هذا الحدث
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.BackgroundWorker1.RunWorkerAsync()
End Subضع مربع نص TextBox على الفورم
شغل التطبيق ونفذ الأمر Button
وابدأ اكتب فى TextBox
ستجد أن العملية التى تحت العنصر BackgroundWorker تعمل فى مسار دون تعطيل الفورم
بحيث يمكنك الكتابة فى مربع النص TextBox والتعامل مع الفورم عادى جداً
ملحوظة :
ربما كود اطلاق صوت Beep وعمل حلقة لا نهائية بعدم وصولها للرقم 100 كما فى المثال السابق ليس احترافي بصورة كاملة - لكن أردنا توضيح المثال بصورة بسيطة لكى نفهم عمل العنصر BackgroundWorker
