وعليكم السلام ورحمة الله وبركاته
نحتاج أن نعمل لتصريح الاجراء (delegate) كاستينج (أي تحويل نوع) لـ (MethodInvoker) كي يعمل
أي تكتب :
وأظن أنك تعرف أنه بالعادة يكتب ضمن حلقة تكرارية أو دورانية في حدث الـ (DoWork) للكائن (backgroundWorker).
مثلا الكود :
ومن أجل عدم التعارض مع أي نداء سابق ولا زال فعال ننده عليه بالكود :
في الكود السابق يبدأ العداد بالعد حتى الغاية المرجوة منه
وأثناء العد فيك أن تطلب تنفيذ أي أمر آخر بالضغط على أي زر آخر أو تطلب مزامنة حدث آخر بعملية أخرى ..
فقط هذا كل شيء.
نحتاج أن نعمل لتصريح الاجراء (delegate) كاستينج (أي تحويل نوع) لـ (MethodInvoker) كي يعمل
أي تكتب :
PHP كود :
Label1.Invoke ((MethodInvoker) delegate
{
Label1.Text = "111";
});
وأظن أنك تعرف أنه بالعادة يكتب ضمن حلقة تكرارية أو دورانية في حدث الـ (DoWork) للكائن (backgroundWorker).
مثلا الكود :
PHP كود :
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// مع أدوات عادية
for (int i = 0; i <= 20000; i++)
{
label1.Invoke ((MethodInvoker) delegate
{
label1.Text = i.ToString();
});
}
}
ومن أجل عدم التعارض مع أي نداء سابق ولا زال فعال ننده عليه بالكود :
PHP كود :
if (backgroundWorker1.IsBusy != true) // إذا كان حدث الباك جراوند غير مشغول حالياً
{
backgroundWorker1.RunWorkerAsync();
}
في الكود السابق يبدأ العداد بالعد حتى الغاية المرجوة منه
وأثناء العد فيك أن تطلب تنفيذ أي أمر آخر بالضغط على أي زر آخر أو تطلب مزامنة حدث آخر بعملية أخرى ..
فقط هذا كل شيء.
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
