السلام عليكم
اريد تصحيح الخطا في هذا الكود
الكود يظهر لي رقما كل نصف ثانية اي 500 ميلي ثانية
استعنت بدالة
Thread.Sleep
بهذا الكود
PHP كود :
For i As Integer = 1 To 5
ListBox1.Items.Add(i)
Thread.Sleep(500)
Next
لكن يظهر كل الارقام دفعة واحدة
هل فيه لقطة ما ؟
----------------------------------
لا اريد اللجوء الى التايمر
و عليكم السلام و رحمة الله و بركاته
كود :
For i As Integer = 1 To 5
ListBox1.Items.Add(i)
Thread.Sleep(500)
My.Application.DoEvents()
Next
او الافضل : استخدم
كود :
Await Task.Delay(500)
حتى لاتحبس المستخدم اثناء الانتظار ، ولكن اضف Async قبل Sub في تعريف الحدث :
كود :
Private Async Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For i As Integer = 1 To 5
ListBox1.Items.Add(i)
Await Task.Delay(500)
Next
End Sub
هكذا ننتظر دون استخدام تايمر ودون تعطيل باقي البرنامج
(11-09-20, 06:47 AM)Mohamad Anan كتب : [ -> ]و عليكم السلام و رحمة الله و بركاته
كود :
For i As Integer = 1 To 5
ListBox1.Items.Add(i)
Thread.Sleep(500)
My.Application.DoEvents()
Next
تحياتي استاذ محمد
جزاك الله خيرا
(11-09-20, 09:00 AM)Anas Mahmoud كتب : [ -> ]او الافضل : استخدم
كود :
Await Task.Delay(500)
حتى لاتحبس المستخدم اثناء الانتظار ، ولكن اضف Async قبل Sub في تعريف الحدث :
كود :
Private Async Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For i As Integer = 1 To 5
ListBox1.Items.Add(i)
Await Task.Delay(500)
Next
End Sub
هكذا ننتظر دون استخدام تايمر ودون تعطيل باقي البرنامج
ربي حفظكم استاذ على الاستمرارية في خدمة الاخرين
ان شاء الله صدقة جارية و علم ينتقع له
انا اعمل على vb2010 express
و ظهرت لي انا فيه خلل ما
يعني لم يقبل Async