تقييم الموضوع :
  • 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] عدم اتصال البرنامج بقاعدة البيانات كريم جودي 0 118 29-12-18, 09:33 AM
آخر رد: كريم جودي
Smile [C#.NET] تفعيل البرنامج عن طريق الفلاش ميمورى %Eman% 11 719 04-10-18, 11:20 PM
آخر رد: elgokr
  كيف أجعل البرنامج يظهر على زر واحد في شريط المهام؟ abozeyd 2 251 12-07-18, 08:07 AM
آخر رد: abozeyd
  مشكة عدم عمل الفيديو بعد تنصيب البرنامج بصيغة exe nedaladnan 1 226 11-06-18, 03:00 AM
آخر رد: elgokr
  هل تصميم البرنامج يؤثر على التنفيذ Mohamed Mostafa 3 335 10-05-18, 06:09 PM
آخر رد: viv
  [سؤال] كيف يمكن تشغيل البرنامج على حاسبة العميل بدون تنصيب فيجوال استوديو وادي العوضي 7 845 07-12-17, 12:31 AM
آخر رد: MoHaNaD_m
  مشكله عند التشغيل البرنامج (بالفيجول ستيديو) adel500 0 258 04-11-17, 10:58 PM
آخر رد: adel500
  المساعدة في طريقة فتح السورس الكود لهذا البرنامج وادي العوضي 4 497 27-09-17, 05:01 PM
آخر رد: وادي العوضي
  [C#.NET] ازاي اوقف شاشة الكونسول عشان اقرا نتيجة البرنامج Asmaa adel 1 481 14-04-17, 06:42 AM
آخر رد: Easy4ever
  [C#.NET] حماية البرنامج من الاختراق ahmed gabe 2 588 08-04-17, 10:34 AM
آخر رد: ahmed gabe

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


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