PDA

View Full Version : مشکل با تاخیر در User Interface



hojjjat
دوشنبه 11 فروردین 1393, 21:34 عصر
سلام
من یک نمونه کد نوشتم با تابع تاخیر
مشکلش اینکه که وقتی باتن کلیک میشه اولش 9 سانیه صبر میکنه بعدش لیبل میشه 9 در صورتی که با تایمر که مینویسم مشکلی نداره
من در جای از برنامه نمیتونم از تایمر اسنفاده کنم مشکل این کد چیست؟
private void button2_Click(object sender, EventArgs e) {
for (int i = 0; i < 10; i++)
{
label1.Text = i.ToString();


System.Threading.Thread.Sleep((int)System.TimeSpan .FromSeconds(1).TotalMilliseconds);
}

Mahmoud.Afrad
دوشنبه 11 فروردین 1393, 21:42 عصر
9 ثانیه نیست. با هر بار اجرای حلقه یک ثانیه Sleep میشه منتها شما thread اصلی رو Sleep میکنید و البته حلقه اینقدر سرعت اجرا داره که عملا UI هنگ میکنه و در انتها شما نتیجه رو مشاهده میکنی.
بایست کد رو در یک thread مجزا اجرا کنید. جستجو کنید.

hojjjat
دوشنبه 11 فروردین 1393, 21:48 عصر
کد دیگه ای نیس که تردی نباشه؟؟
من میخوام این حلقه در هر 1 .ثانیه یک بار جلو برود