PDA

View Full Version : سوال: اضافه کردن ثانیه شمار به فرم



veniz2008
چهارشنبه 11 اسفند 1389, 14:19 عصر
سلام دوستان،من میخوام چندتا الگوریتم رو با #c پیاده سازی کنم،از یه دکمه برای محاسبه جواب استفاده کنم،حالا میخوام زمانیکه دکمه رو کلیک میکنم،یه ثانیه شمار روی فرمم ظاهر بشه و زمان اجرای اون الگوریتم رو بر روی فرم نشون بده و وقتی که به جواب رسید، ثانیه شمار هم متوقف بشه تا زمان اجرای الگوریتم رو داشته باشم،خلاصه اینکه:میخوام یه ثانیه شمار که شروعش با کلیک دکمه و توقفش با رسیدن به جواب باشه رو بسازم،لطفا یه راهنمایی کامل بکنید،چون تا حالا این مدلی کار نکردم،تشکر از همه دوستان

exlord
چهارشنبه 11 اسفند 1389, 16:23 عصر
DateTime t1 = DateTime.Now;
//Algoritm Started
//...
//...
//...
//Algoritm Ended
TimeSpan t = DateTime.Now - t1;
label1.Text = t.Milliseconds.ToString(); // or t.Seconds.ToString();

label1.Text = "0";
Timer t = new Timer();
t.Interval = 1000;//1 second
t.Tick += new EventHandler(t_Tick);
t.Start();
//Algoritm Started
//...
//...
//...
//Algoritm Ended
t.Stop();


void t_Tick(object sender, EventArgs e)
{
label1.Text = (int.Parse(label1.Text) + 1).ToString();
}

علیرضا حسن زاده
چهارشنبه 11 اسفند 1389, 16:34 عصر
می تونی از یه تایمر استفاده کنی و وقتی که الگوریتم شروع به کار میکنه فعالش کنی و در پایان کار هم غیر فعالش کنی خاصیت interval رو هم 1000 قرار بده تا تایمر هر یک ثانیه اجرا بشه یک کنترلی هم مثل Label یا TextBox تو فرم قرار بده و تو تابع Tick مقاری رو که در اون قرار میدی رو یک واحد (یک ثانیه) افزایش بده