PDA

View Full Version : سوال: تداخل تایمرها



sinaprog
جمعه 20 مرداد 1391, 23:19 عصر
سلام

برنامه ای که نوشتم اینه

private void Form1_Load(object sender, EventArgs e)
{
numericUpDown2.Value = break_ns.Properties.Settings.Default.long_time;
numericUpDown1.Value = break_ns.Properties.Settings.Default.short_time;
timer1.Enabled = true;
timer2.Enabled = true;
timer2.Interval = break_ns.Properties.Settings.Default.long_time * 1000;
timer1.Interval = break_ns.Properties.Settings.Default.short_time * 1000;
}

می خام وقتی long_time مضرب صحیحی از short_time باشه وقتی زمان به long_time میرسه فقط timer2_Tick اجرا بشه
باید چه کار کنم؟؟؟

mousa1992
جمعه 20 مرداد 1391, 23:56 عصر
اگر منظورتونو درست متوجه شده باشم توی رویداد تیک تایمری که زمانش بیشتره تایمر مورد نظرت رو غیر فعال میکنی !

sinaprog
شنبه 21 مرداد 1391, 00:00 صبح
اگر منظورتونو درست متوجه شده باشم توی رویداد تیک تایمری که زمانش بیشتره تایمر مورد نظرت رو غیر فعال میکنی !
ولی میخام دوباره هم تکرار بشه مثل smart break

mousa1992
شنبه 21 مرداد 1391, 00:02 صبح
ولی میخام دوباره هم تکرار بشه مثل smart break


یه کم نامفهومه
دقیقتر توضیح بدید دوستان بهتر میتونن راهنمایی کنن

sinaprog
شنبه 21 مرداد 1391, 00:09 صبح
short_time=20 s
long_time=60 s
------------------------------
sec 20 short_time
sec 40 short_time
sec 60 long_time
sec 80 short_time
sec 100 short_time
sec 120 long_time
sec 140 short_time
sec 160 short_time
sec 180 long_time
.
.
.

mousa1992
شنبه 21 مرداد 1391, 00:33 صبح
این راه بهتره
interval تایمر بزرگ رو بر تایمر کوچک تقسیم کن و عددی صحیح بدست میاری ، متغیری از int بگیر و در هر تیک تایمر کوچک یک واحد بهش اضافه کن و بعد از اون بررسی کن اگر باقیمانده ی دو عدد بدست امده صفر شد دستورات تایمر کوچک اجرا نشه