تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف أمنع تجمد البرنامج عند Loop ؟
#1
عند استخدام Loop مع عدد كبير مع العناصر يحدث تجمد للبرنامج واسوداد للشاشة يمكن منع هذا التجمد عن طريق Threading

لكن عند تطبيقه على الشكل التالي

كود :
Task t = new Task(() =>
           {
               //loop
           });
           t.Start();

ينعدم أو على الاقل يقل التجمد ويختفي اسواد الشاشة لكن عند انتها العملية تبقى النافذة معلقة لفترة قبل ان تستجيب؟ يعني التجمد ياتي بعد الانتهاء!


ما الحل جزاكم الله خيرا؟

ونفس الشيء مع استخدام BackgroundWorker
ما دام اللوب شغال الامور طبيعية لكن عند تمام العملية ياتي التعليق لفترة 
الرد }}}
تم الشكر بواسطة:
#2
تم حل المشكل والحمد لله وللفائدة أن هذا يقع عند التعامل مع كائن داخل Threading أو BackgroundWorker
وكنت أعطي قيمة الـ ProgressBar داخلها وكان هذا يسبب توقف وتجمد للبرنامج بعد انتهاء اللوب ولكن لما جعلت اسناد القيمة للـ ProgressBar  قبل استدعاء BackgroundWorker وترك الاظهار والاخفاء داخله تمت العملية بنجاح
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , elgokr
#3
هل جربت async, await

الرد }}}
تم الشكر بواسطة: elgokr , abozeyd
#4
حاولت تجربتها بعد تنبيهك أخانا الكريم واستاذي القديم محمد كريم لكن لم تفلح مع ما اريد فليس لي بها كبير المام

BackgroundWorker معها مشت الامور على التمام بكل التفاصيل التي اردتها التشغيل المنفصل الايقاف للوب عندما أريد 

لكن يبقى السؤال قائما 

ايهما أفضل استعمال الباك قروند ورك أم استعمال التاسك؟
كذلك الذي فهمته من 
Async - Await
أنها تقوم بايقاف الكود عند نقطة معينة حتى يتم ما يوجد عندها ثم تواصل العملية فإذا كان الأمر كذلك فليس هذا مرادي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مثال لربط البرنامج بجهاز قارء الباركود anes 5 1,275 10-04-23, 03:14 PM
آخر رد: assuhimi
  هل هناك طرق لعمليات البحث في المصفوفة غير for loop osama623 2 665 21-11-22, 08:42 PM
آخر رد: Mtaktak
  كيفية تثبيت الخطوط عند المستخدم بمجرد تنزيل البرنامج osama623 1 712 18-11-22, 02:07 PM
آخر رد: alfaiz678
  ممكن مساعدة في حل مشكل البرنامج crazykinko 0 725 03-11-22, 05:03 PM
آخر رد: crazykinko
  [سؤال] استيراد بيانات اصناف من الاكسيل لقاعدة بيانات البرنامج sql mazentq 8 2,337 09-07-22, 01:17 PM
آخر رد: asemshahen5
  مشكله فى اغلاق البرنامج khataan88 1 849 28-05-22, 06:50 AM
آخر رد: khataan88
  [C#.NET] كيف اجعل قاعدة البينات في البرنامج يعمل عليها اكثر من مستخدم عبدالرحمن محمدين السيد 1 1,107 10-01-22, 08:58 PM
آخر رد: سعود
  السلام عليكم مشكله عند تشغل البرنامج بعد تثبيته من الحزمة Ikramynasr 1 1,069 01-12-21, 08:41 PM
آخر رد: asemshahen5
  [C#.NET] إرسال إيميل من البرنامج sniperjawadino 1 1,255 07-10-21, 12:29 AM
آخر رد: sniperjawadino
  [C#.NET] ربط البرنامج بموقع وانشاء سيريال نمبر abosaed2015 2 1,533 24-08-21, 09:58 PM
آخر رد: abosaed2015

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم