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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Smile [C#.NET] تفعيل البرنامج عن طريق الفلاش ميمورى %Eman% 11 562 04-10-18, 11:20 PM
آخر رد: elgokr
  كيف أجعل البرنامج يظهر على زر واحد في شريط المهام؟ abozeyd 2 183 12-07-18, 08:07 AM
آخر رد: abozeyd
  مشكة عدم عمل الفيديو بعد تنصيب البرنامج بصيغة exe nedaladnan 1 166 11-06-18, 03:00 AM
آخر رد: elgokr
  هل تصميم البرنامج يؤثر على التنفيذ Mohamed Mostafa 3 279 10-05-18, 06:09 PM
آخر رد: viv
  [سؤال] كيف يمكن تشغيل البرنامج على حاسبة العميل بدون تنصيب فيجوال استوديو وادي العوضي 7 736 07-12-17, 12:31 AM
آخر رد: MoHaNaD_m
  مشكله عند التشغيل البرنامج (بالفيجول ستيديو) adel500 0 201 04-11-17, 10:58 PM
آخر رد: adel500
  المساعدة في طريقة فتح السورس الكود لهذا البرنامج وادي العوضي 4 412 27-09-17, 05:01 PM
آخر رد: وادي العوضي
  [C#.NET] ازاي اوقف شاشة الكونسول عشان اقرا نتيجة البرنامج Asmaa adel 1 431 14-04-17, 06:42 AM
آخر رد: Easy4ever
  [C#.NET] حماية البرنامج من الاختراق ahmed gabe 2 531 08-04-17, 10:34 AM
آخر رد: ahmed gabe
Lightbulb [C#.NET] طريقة لتحديث البرنامج بعد تحزيمة n.m532 1 943 04-01-17, 06:37 PM
آخر رد: الماجيك مسعد

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


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