PDA

View Full Version : سوال: مشکل در ایجاد تایمر (Timer) توسط کد با تعداد پویا (تعیین تعداد در زمان اجرا)



m0hammad_01
سه شنبه 07 شهریور 1391, 22:39 عصر
با سلام خدمت همه دوستان عزیز

من میخوام تعدادی نا معلوم (تعداد بسته به نیاز کاربر و در زمان اجرا مشخص می شود) تایمر ایجاد کنم که به ناچار به خاطر محدود نبودن تعداد باید توسط کد ایجاد بشن. برای هر کدام هم یک Label ایجاد کنم که زمانی که توسط تایمر بدست میاد تو اون نمایش بده.برای هر تایمر و لیبل، یک دکمه هم هست که با زدنش تایمر شروع به کار میکنه.
مشکل من تو ایجاد کردن Label یا Button توسط کد و به تعداد نا محدود نیست. این کار انجام شده.
مشکل من تو ایجاد کردن تایمر هست.

به خاطر اینکه دلخواه من برای تایمرها، ثانیه نیست پس Form.Timer به نظرم جوابگو باشه.
حالا من به چه روشی تایمر رو ایجاد کنم و به Label و Button مختص خودش ربط بدم؟
چطوری رویداد Tick تایمر رو بنویسم که اختلالی بین تایمر ها بوجود نیاد؟

ممون میشم راه حل هاتون رو مطرح کنید.
سپاس

m0hammad_01
چهارشنبه 08 شهریور 1391, 13:21 عصر
کسی با این مساله آشنایی نداره یا ایده ای به ذهنش نمیرسه؟؟؟؟؟؟
هر گونه نظری قابل اهمیت هست و مفید.

ممنون

elderado
جمعه 17 شهریور 1391, 07:03 صبح
زیر دکمه این کد رو بنویس

Timer timer = new Timer();
Label label = new Label();



timer.Tick += new EventHandler(timer_Tick); // Everytime timer ticks, timer_Tick will be called
timer.Interval = (1000) * (1); // Timer will tick evert second
timer.Enabled = true; // Enable the timer
timer.Start(); // Start the timer

label.Location = new Point(100, 100);
label.AutoSize = true;
label.Text = String.Empty;

this.Controls.Add(label);
}

void timer_Tick(object sender, EventArgs e)
{
label.Text = DateTime.Now.ToString();
}

حالا میتونی جلوی اسم تایمرها رو با یک متغیر تغییر بدی، اینطوری تایمر جدید ساخته میشه
و چون تابعی که صدا زده میشه یکی هست(timer_Tick) همش همین تابع فراخوان میشه
حالا داخل این تابع میتونی شرط بذاری که کدوم تایمر فعاله و ....