منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيف ممكن اوقف عدد كبير من BackgroundWorker دفعة واحدة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيف ممكن اوقف عدد كبير من BackgroundWorker دفعة واحدة (/showthread.php?tid=20499)



كيف ممكن اوقف عدد كبير من BackgroundWorker دفعة واحدة - e-coder - 23-05-17

سلام عليكم
بعد الصلاة على سيدنا محمد
كيف ممكن اوقف عدد 20 من BackgroundWorker
دفعة واحدة وشكراً



RE: كيف ممكن اوقف عدد كبير من BackgroundWorker دفعة واحدة - alma2 - 23-05-17

حسب ما قرأته في أحد المواقع

اولا
يجب تفعيل امكانية الإلغاء من خلال الخاصية WorkerSupportsCancellation بالقيمة True

ثانيا
يجب وضع تفقد الإلغاء داخل الحلقات او جمل التكرار مثل For وDo أو غيرها التي في الكود للخروج من العمل مثل
كود :
If BackgroundWorker1.CancellationPending Then Exit Sub

ثالثا
في تستخدم هذا الأمر في زر طلب الغاء العمل BackgroundWorker1.CancelAsync

وهذا يتم لكل BackgroundWorker


RE: كيف ممكن اوقف عدد كبير من BackgroundWorker دفعة واحدة - silverlight - 23-05-17

ايقاف Thread فيه بعض الخطورة احيانا و انت هنا تحتاج الي ما يسمي الخروج الأمن من هذا Thread
و غالبا في حالات مثل هذه الافضل لك ان يتم تنفيذ الكود في BackgroundWorker باستخدام Boolean فان كان True يتم التنفيذ و العكس صحيح