PDA

View Full Version : کار با تایمر



marshalsharifi
جمعه 31 خرداد 1392, 18:49 عصر
سلام من یه برنامه دارم ک از کاربر سوالاتی میپرسه و برای هرسوال 6 گزینه هم نمایش میده. اگه کاربر گزینه درست رو انتخاب نکنه ی فرم جدید باز میشه و گزینه صحیحو بهش نشون میده.
میخوام با تایمر برنامه رو طوری تغییر بدم که واسه هر گزینه ی زمانی بصورت معکوس نمایش داده بشه و در صورت اتمام زمان فرم آموزش باز بشه. نکته اینجاست ک بعد ار بستن فرم آموزش و با نمایش تست بعدی تایمر از اول شروع بکار کنه. به روشهای مختلفی روش کار کردم ولی ایراد. لطفا راهنمایی کنید.

veniz2008
جمعه 31 خرداد 1392, 19:39 عصر
سلام.
کار خاصی نمیخواد انجام بدید. یک متغیر بصورت سراسری از نوع int تعریف کنید که وظیفش نگهداری زمان باقیمانده هست مثلا MyTime . یک لیبل هم برای نمایش زمان باقیمانده به کاربر قرار بدید مثلا LblTotalTime و در خارج از رویداد Tick این متغیر رو با مقدار زمان هر سوال مقداردهی کنید. من برای مثال 15 ثانیه برای هر سوال فرض کردم. شما مقدار مورد نظرت رو بهش بده.

LblTotalTime.Text = "15";
در رویداد Tick تایمر حالا مقدار زمان باقیمانده هر سوال رو داخل متغیر MyTime بریزید. و این متغیر رو یکی یکی کم کنید و به کاربر نمایش بدید.


MyTime = Convert.ToInt32(LblTotalTime.Text);
if(MyTime == 0)
{
// نمایش فرم آموزش
}
else
{
MyTime--;
LblTotalTime.Text = MyTime.ToString();
}

وقتی سوال بعدی رو میخواید نمایش بدید ابتدا LblTotalTime رو برابر با زمان سوال قرار بدید.
همین.
موفق باشید.