PDA

View Full Version : رفرش کردن فرم و ایجاد تاخیر در آن



طاها حک
یک شنبه 03 اردیبهشت 1391, 15:43 عصر
با سلام. من می خوام یک picturebox به نام pcrobot داخل یک حلقه while هر 100 میلی ثانیه، به یک موقعیت دیگه منتقل بشه و فرم رفرش بشه تا یک حرکت دیده بشه.
برای اینکار کد زیر رو نوشتم:
pcrobot.Location(new Point(i, j));
pcrobot.Update();
this.Refresh();
Thread.Sleep(100);
حالا وقتی برنامه رو اجرا می کنم، فرم قفل می شه و وقتی هم چند بار روش با موس می زنم، not responding میده

Mahmoud.Afrad
یک شنبه 03 اردیبهشت 1391, 20:08 عصر
یک تایمر روی فرمتون قرار بدید و روش دابل کلیلک کنید. در رویداد تیک کد تغییر مکان رو بنویسید. نتیجه چیزی مثل کد زیر میشه:


private void timer1_Tick(object sender, EventArgs e)
{
if (pictureBox1.Location.X > 0)
pictureBox1.Location = new Point(pictureBox1.Location.X - 1, pictureBox1.Location.Y);
}


در رویداد باتن هم این رو بنویسید:


timer1.Interval = 100;
timer1.Start();