تقييم الموضوع :
  • 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
أنها تقوم بايقاف الكود عند نقطة معينة حتى يتم ما يوجد عندها ثم تواصل العملية فإذا كان الأمر كذلك فليس هذا مرادي
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [C#.NET] كيف عمل قاعدة بيانات mysql ورفعها ع سيرفر وربط البرنامج بلسيرفر GeRoO 0 25 18-01-20, 05:38 PM
آخر رد: GeRoO
  سؤال بخصوص حفظ تكتس من غير قاعده برنامج او نوت في البرنامج نفسه faysal13_13@hotmail.com 1 150 25-10-19, 11:31 PM
آخر رد: Rabeea Qbaha
  مشكلة فى عمل اشعار من البرنامج maxruined 18 583 15-10-19, 04:11 PM
آخر رد: elgokr
  [C#.NET] عدم اتصال البرنامج بقاعدة البيانات كريم جودي 2 538 26-08-19, 10:55 AM
آخر رد: ابراهيم ايبو
  [C#.NET] نع ظهور Exception الافتراضي الذي يظهر عند عدم قدرة البرنامج علي فتح الاتصال بالهوست bassemM 1 306 18-05-19, 11:48 PM
آخر رد: elgokr
Smile [C#.NET] تفعيل البرنامج عن طريق الفلاش ميمورى Abou Eman 11 1,449 04-10-18, 11:20 PM
آخر رد: elgokr
  كيف أجعل البرنامج يظهر على زر واحد في شريط المهام؟ abozeyd 2 612 12-07-18, 08:07 AM
آخر رد: abozeyd
  مشكة عدم عمل الفيديو بعد تنصيب البرنامج بصيغة exe nedaladnan 1 450 11-06-18, 03:00 AM
آخر رد: elgokr
  هل تصميم البرنامج يؤثر على التنفيذ Mohamed Mostafa 3 603 10-05-18, 06:09 PM
آخر رد: viv
  [سؤال] كيف يمكن تشغيل البرنامج على حاسبة العميل بدون تنصيب فيجوال استوديو وادي العوضي 6 1,332 07-12-17, 12:31 AM
آخر رد: MoHaNaD_m

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


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