السلام عليكم.
لقد قمت بعمل مشروع لمادة اسمها شبكات الحاسوب 2 في الجامعة. و لقد انجزت المشروع بلغة السي شارب.
الان خوارزمية ال dikstra تقوم بحساب اقصر طريق ممكن ان تسلكه الرسالة من اي راوتر المصدر الى الهدف.
و لقد قمت برسم الصور و البرنامج مرفق للاطلاع.
الان المشكلة انه في كل مرحلة يمر البرنامج بالراوتر الذي يحتوي على اقصر طريق. اريد طريقة ان اعمل فيها توقيف لعمل ال loop و اعمل flash لصورة الراوتر يعني اخليها يصير لونها ازرق ثم فضي ثم ازرق ثم فضي و هكذا و حاولت Thread.Sleep(1000) داخل loop لكن بدأ البرنامج بالتوقف كليا عن الحمل بحلقة لا نهائية.
كيف استطيع ان اعمل flashing لصورة الراوتر الذي يحتوي على اقصر طريق عندما اجده؟
هذا هو الكود الذي يجب ان ادخل عملية الفلاش به
Node output = Dest;
string sOut = String.Empty;
while (true)
{
if(output != Dest)
{
sOut = String.Format("{0} -> {1}",output.getName(),sOut);
}
else
{
sOut = String.Format("{0}",Dest.getName());
}
/*for(int i = 0;i<=5;i++)
{
Thread.Sleep(2000);
if(i%2==0) output.pic.Image = NodeOn.Image;
else output.pic.Image = LCNode.Image;
}*/
output.pic.Image = NodeOn.Image;
output = output.getPrevious();
if (output == Src) break;
}
sOut = String.Format("{0} -> {1}",Src.getName(),sOut);
RTB.AppendText(sOut);