في كثير من الأحيان نكون في احتياج لأن نجعل بعض الأحداث تقع بعد فترة زمنية معينة وبدون تدخل مستخدم البرنامج و هذا ما نستطيع عمله باستخدام الأداة Timer و الحدث Tick .ان الكائن Timer في الحقيقة ما هو الا ساعة غيرمرئية تتيح لك التعامل مع ساعة الحاسب من داخل البرامج التي تقوم بتنفيذها .
عندما يكون لدينا Timer على النموذج فانه ينشط على فترات زمنية متساوية تسمى intervals و نتيجة لهذا النشاط يقع الحدث tick ((الحدث Tick مثل الحدث click أو mouveMouse ولكنه خاص بالكائن Timer ))
والميقاتي يستخدم كثيرا وسوف تحتاج الى استخدامه في كثير من التطبيقات ((معرفة تاريخ ميلادك و تذكيرك به في اليوم المحدد و معرفة متى تم تعيين موظف ما في الشركة , حساب عدد سنوات العمل لدا احدى الجهات ,عمل برنامج تجريبي لمدة معينة ثم ايقافه ...))
عندما يكون لدينا Timer على النموذج فانه ينشط على فترات زمنية متساوية تسمى intervals و نتيجة لهذا النشاط يقع الحدث tick ((الحدث Tick مثل الحدث click أو mouveMouse ولكنه خاص بالكائن Timer ))
والميقاتي يستخدم كثيرا وسوف تحتاج الى استخدامه في كثير من التطبيقات ((معرفة تاريخ ميلادك و تذكيرك به في اليوم المحدد و معرفة متى تم تعيين موظف ما في الشركة , حساب عدد سنوات العمل لدا احدى الجهات ,عمل برنامج تجريبي لمدة معينة ثم ايقافه ...))
اضافتها للنموذج :توجد هذه الأداة في صندوق الأدوات ToolBox بصفة أساسية قم بالنقر عليها و تمريرها للنموذج فنراها تظهر في شريك سفلي أسفل النموذج form لا تظهر عليه ...
أو يمكننك تعريفها كمتغير كما يلي :
أو يمكننك تعريفها كمتغير كما يلي :
DimTimer1 As New Timer
ملحوظة : ان لم تجد هذه الأداة في صندوق الأدوات قم بما يلي :
1-في أي مكان على صندوق الأدوات ToolBox اضغط بمؤشر الماوس الأيمن right click سوف تظهر لك قائمة اختر منها choose items
2-سوف يفتح لك مربع حواري يحتوي على أربع تبويبات في الأعلى اختر . net framework components
3- قم بالبحث عن الأداة داخل هذا التبويب و بعد ايجادها ضع أمامها علامة صح ثم اضغط ok
فتراها قد أضيفت لصندوق الأدوات
أهم و أشهر خصائص الأداة :
الخاصيتان Enabled و الخاصية Interval هي أهم خاصيتان لهذه الأداة و التي سوف تستخدمهما كخاصيتين أساسيتين عند استعمال الأداة
فالخاصية Enabled تأخذ القيمة True أو False و القيمة الافتراضية لها False و عليك أن تجعلها True اذا أردت تشغيل الميقاتي واذا أردت ايقاف ال Timer اجعلها False علما بأنه يمكنك تغيير هذه الخاصية الى True أو False أثناء تشغيل البرنامج و أثناء تصميمه
و الخاصية interval تحدد الفترة الزمنية التي ينشط بعدها الميقاتي وتتراوح بين 0 الى 65535 مللي ثانية
الثانية =1000 مللي ثانية
فاذا كان : Timer1.Interval = 2000
سوف ينشط الميقاتي بعد مرور ثانيتين
مثال 1:
ننتقل الى برنامج الفيجوال ستوديو أو الفيجوال بيسك 2005 أو 2008 أو 2010و نقوم باضافة الأداة Timer ((وقد سبق شرج كيفية اضافتها)) و زر Button1 الخاصية Text له =1 حيث بعد مرور كل 5 ثوان تزداد القيمة بمقدار واحد يعني بعد خمس ثوان sوف يصبح 2 و بعد خمس ثوان أخرى سوف يصبح 3 ...وهكذا
في الحدث Form1_Load نقوم بكتابة الكود التالي
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 5000
Timer1.Enabled = True
End Sub
مث ننتقل بعد ذلك الى الأداة Timer1 وننقر فوقها بزر الماوس نقرا مزدوجا لفتح نافذة الكود الخاص بها سوف تجد مكتوبا ما يلي :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
هنا اكتب الأوامر التي تريد نفيذها
End Sub
فقم بكتابة الكود التالي
وقم بتشغيل البرنامج سوف تجد بعد مرور خمس ثوان من تشغيله زادت القيمة و أصبحت 2 و بعد خمس ثوان أخرى زادت وأصبحت 3...وهكذاPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Text = Val(Button1.Text) + 1
End Sub
و اذا أردت ايقاف العد و الأداة Timer اجعل الخاصية Enabled تساوي False
مثال 2 :برنامج مسابقات يقوم باختيار اسم عشوائي من بين مجموعة أسماء كل5 ثوان لتحميل البرنامج من هنا
مثال 3: في هذا المثال سوف نقوم بعرض الفورم بطريقة تدريجية جميلة تضفي على المشروع جمالا ورونق جذاب .
قم باضافة الأداة Timer الى النموذج ومن نافذة الخصائص اجعل الخاصية Enabled تساوي True و الخاصية Interval = 150, واجعل الخاصية opacity للــForm = 0
ثم افتج نافذة الكود الخاص بالأداة عن طريق النقر عليها نقرا بزدوجا بالماوس وقم بكتابة الكود الملون بالأحمر كالتالي:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Opacity = Me.Opacity + 0.1
If Me.Opacity = 1 Then
Timer1.Enabled = False
End If
End Sub
قم بتشغيل البرنامج ولاحظ ما يحدث...
أتمنى يكون الدرس واضح و مفهوم وان كان هناك أي استفسار أنا موجود و تابعوني في الدرس القادم مع دوال التعامل مع الوقت و التاريخ و التكوين Date Time
كيف اعمل timer لاشارة مرور
ردحذفالرجاء الرد
و مشسكور
مشكور اخي الكريم
ردحذفمشكور اخي الكريم
ردحذف