ادوات التحكم | شرح اداة Timer | برمجة مرئية
أداة التحكم المؤقت ( timer )
تقوم بإنشاء حدث بعد فاصل زمني محدد ، مع خيار
إنشاء أحداث متكررة
.
اي ان هذه الأداة مهمتها تنفيذ عمليه خلال مدة محددة او بعد كل فاصل زمني
محدد .
هذه الأداة تقوم
برفع حدث في التطبيق الخاص بك بعد انقضاء عدد
المللي ثانية في خاصية الفاصل الزمني
(
Interval
)
نشرح بالاكواد كي توضح الفكرة اكثر عن هذه الأداة.
هذه الأداة من الأدوات التي هي
non visual
أي غير مرئية في الفورم وتظهر اسفل الفورم .
يمكنك اضافتها للفورم من قائمة أدوات التحكم او برمجياً
يمكنك اضافتها للفورم من قائمة أدوات التحكم او برمجياً
الخصائص المهمه التابعة لهذه الأداة
الخاصية
Enabled
: هي المسئوله عن تفعيل الأداة او عدم تفعيلها قيمتها الافتراضيه هي
false
أي انك عندما تقوم بسحب الأداة للفورم تكون غير
مفعله
لو تقوم بعمل أي شي في الحدث
Tick
فإنه لن يحدث شي والسبب ان الخاصية
Enabled
تساوي
false
ولكي يعمل الحدث قم بجعل قيمه الخاصية الى
true
الخاصية
Interval
هذه الخاصية تأخذ قيمه من نوع
int
من خلالها نحدد متى يحدث الحدث
فمثلاً اذا قمت بعمل قيمه للخاصيه كالتالي
timer1.Interval = 3000;
فهذا يعني سوف يتم تشغيل الحدث
Tick
بعد كل 3 ثواني
أي ان الف مللي ثانية يساوي ثانية واحدة
اذا اردت تنفيذ عمليه بالثواني كل ما عليك هو ان
ثانية * 1000
ثانية * 1000
أي انك تضع عدد الثواني في المعادلة السابقة وتضربه في 1000
اما اذا اردت بالدقائق تكتب عدد الدقائق وتضربها في 60 في 1000
دقيقة * 60 * 1000
لكي تقوم بعمليه بعد 3 دقائق كل ماعليك فعله هو كالتالي
timer1.Interval = 3*60*1000;
الحدث
Tick
الحدث تيك وهو الحدث الذي سوف يتم تنفيذ العمليه بداخله بعد مرور المدة
الزمنية المحددة في الخاصية
Interval
.
هل تلاحظ الى مايدل اسم الحدث وكإن هو يشبه صوت عداد الثواني في ساعة
الحائط
.
الان سوف نشرح اكواد تمكنك من عمل أشياء جميله ورائعة في برنامجك من خلال
هذه الأداة البسيطة
المثال الأول يقوم بتغيير لون الشاشة تلقائياً بعد مرور 3 ثواني في الحدث
Tick
كود
المثال الثاني يقوم بتبديل الوان 2 ازرار الزر الأول لونه احمر والزر
الثاني لونه اخضر سوف نقوم بتبديل الالون في ما بينهم كل ثانية .
كود
مع العلم انهو تم تغيير قيمه الخاصية
Interval
الى
1000
(ثانية).
ملاحظة : كل ما كانت قيمة
Interval
اقل من ثانية تكون الأداة
Timer
سريعه .
بمعنى انك اذا عملت
100
للخاصية
Interval
فانها تعتبر
100
مللي ثاني أي جزء من الثانية.
المثال الثالث سوف نقوم بعمل قائمة منسدله تخرج من الجهه اليسرى
عندما يتم الضغط على زر القائمة .
لكي تقوم بتطبيق المثال هذا قم بإضافة الأدوات التاليه للفورم :
Panel1
خاصية
Dock
تساوي
Top
الون
Orange
Panel2
خاصية
Dock
تساوي
Left
الون
SteelBlue
Timer
خاصية
Enabled
تساوي
true
و خاصية
Interval
تساوي
100
الان القائمة التي ستخرج من الجهه اليسرى هي
panel2
قم بإضافة اليها بعص الازرار
اخر خطوة في التصميم قم بتعديل الخاصية
Width
التابعه
Panel2
الى
0
كما
في الشكل التالي
سوف تختفي القائمة بما تحتويه من ازرار لايهم سوف نقوم بإظهارها وإخفائها
برمجيا.
الان بعد ان انتهينا من التصميم
نبدأ بالبرمجة
سوف ندخل لاحداث الزر ونفتح دالة الحدث
Click
بعد ذلك نفتح الحدث
Tick
التابع لل
Timer
كود
شرح الكود :
bool
showMenu;
في البداية قمنا بتعريف متغير من نوع
bool
هذا المتغير هو الذي سوف يحدد للتايمر في ما اذا
كانت القائمة ظاهره او مخفيه.
عندما يقوم المستخدم بالضغط على الزر سوف يتم تنفيذ ما بداخل داله الحدث
Click
.
if
(panel2.Visible)
سيبدا المترجم بفحص الشرط الأول في حاله كان صحيح سيدخل وينفذ مابداخل
if
الشرطية
اما اذا كان غير صحيح سوف ينتقل الى
else
else
{
showMenu =
true
;
panel2.Show();
timer1.Start();
}
سوف ينفذ الاسطر التي بداخل
else
اسندنا قيمه
true
للمتغير
showMenu
ومن ثم قمنا بعرض الأداة
panel2
و السبب انهو عند الضغط مرة أخرى على الزر يقوم
بالدخول الى داله الحدث
Click
وينفذ الشرط الأول.
ومن ثم قمنا بتشغيل ال
timer
الان بعد السطر الأخير سوف يذهب الى دالة الحدث
Tick
.
if
(showMenu)
{
if
(panel2.Width >= 155)
timer1.Stop();
panel2.Width += 14;
}
عندما يفحص المترجم الجملة الشرطية
if
سيرى ان قيمه
showMenu
تساوي
true
لذالك سيتم تنفيذ ما بداخل هذا الشرط
بعد ذالك ينتقل الى السطر التالي ويجد ان هناك شرط اخر
ويفحص الشرط سيجد ان الشرط غير صحيح لذالك سوف
يتم ترك السطر الذي بعد الجمله الشرطيه
لان الجملة الشرطيه التي لاتحوي على قوس بداية ونهاية فإن السطر البرمجي
التالي يكون مرتبط بالشرط
بعد ذلك سوف يتم زيادة عرض الأداة
panel2
(القائمة) بمقدار
14
سوف تتكرر هذه العملية حتى يصبح قيمة الخاصية
Width
اكبر من
155
عندها يتوقف ال
timer
.
ملاحظة : يتم تكرار العملية السابقة في كل 100 مللي ثانية
الان المؤقت توقف والقائمة تم إظهارها في الفورم.
الان عندما يقوم المستخدم بالضغط على القائمة مرة اخرى سوف تختلف العمليه
أي انهو سوف يتم تنفيذ الاكواد الخاصة بإخفاها .
سوف ينفذ الشرط الأول في دالة الحدث
Click
ومن ثم يقوم بإسناد قميه المتغير المنطقي الى
false
, ومن ثم يقوم بتشغيل
timer
بعد ذلك سوف يتم تنفيذ الاكواد بداخل الدالة
Tick
التي تقوم بإخفاء القائمة.
ملاحظة حول أداة
Timer
عندما تقوم بإنشائها برمجياً فإنك لاتحتاج الى
الى اضافتها الى الفورم يتم اضافتها تلقائيا فقط قم بتعديل خاصية
Enabled
الى
true
مثال على انشاء اوبجكت من نوع
Timer
Timer
t =
new
Timer
();
نهاية الشرح.....

تعليقات
إرسال تعليق