tgoop.com/CsharpWindowsForm/257
Last Update:
}
else
{
if (panel2.Width <= 0)
{
panel2.Hide();
timer1.Stop();
}
panel2.Width -= 14;
}
}
شرح الكود :
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();
نهاية الشرح.....
إن شاء الله في موضوع منفصل سوف نشرح كيف تقوم بعمل تأثيرات حركية (انيمشن) بإستخدام أداة Timer
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/257