تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هل بشرح بسيط عن الـ MultiThread في c#
#2
وعليكم السلام ورحمة الله وبركاته

نحتاج أن نعمل لتصريح الاجراء (delegate) كاستينج (أي تحويل نوع) لـ (MethodInvoker)  كي يعمل
أي تكتب :
PHP كود :
Label1.Invoke ((MethodInvokerdelegate 

 
   Label1.Text "111"
}); 


وأظن أنك تعرف أنه بالعادة يكتب ضمن حلقة تكرارية أو دورانية في حدث الـ (DoWork)  للكائن (backgroundWorker).

مثلا الكود : 
PHP كود :
private void backgroundWorker1_DoWork(object senderDoWorkEventArgs e)
{
 
   // مع أدوات عادية
 
   for (int i 0<= 20000i++)
 
   {
 
       label1.Invoke ((MethodInvokerdelegate 
        

 
           label1.Text i.ToString(); 
 
       });


 
   }



ومن أجل عدم التعارض مع أي نداء سابق ولا زال فعال ننده عليه بالكود :
PHP كود :
if (backgroundWorker1.IsBusy != true  // إذا كان حدث الباك جراوند غير مشغول حالياً
{
 
   backgroundWorker1.RunWorkerAsync();


في الكود السابق يبدأ العداد بالعد حتى الغاية المرجوة منه
وأثناء العد فيك أن تطلب تنفيذ أي أمر آخر بالضغط على أي زر آخر أو تطلب مزامنة حدث آخر بعملية أخرى ..

فقط هذا كل شيء.
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: justforit , justforit


الردود في هذا الموضوع
RE: هل بشرح بسيط عن الـ MultiThread في c# - بواسطة Taha Okla - 13-04-24, 07:18 AM


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


يقوم بقرائة الموضوع: