PDA

View Full Version : سوال: چگونه میتوان پیشرفت یک حلقه For را درون یک Label نمایش داد؟



mehrnoosh_al62
دوشنبه 14 مرداد 1387, 15:50 عصر
سلام دوستان
من یک تو برنامم یک حلقهfor دارم که اعضای یک CheckListBox رو پیمایش میکنه و اونها رو به بانکم منتقل میکنه.
حالا سوال من اینه...
چطور میتونم همزمان وقتی حلقه در حال اجرا شدنه به هر عضوی از CheckListBox که رسید نام اون رو درون یه Label نشون بدم؟


for ( n = 0; n <= checkedListBox1.Items.Count - 1; n++)
{
if (checkedListBox1.GetItemChecked(n) == true)
{
//Instructions
}
}

در واقع میخوام پیشرفت حلقه رو در برنامه در Label نشون بدم.

ASKaffash
دوشنبه 14 مرداد 1387, 16:17 عصر
سلام
اینطوری :


private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.checkedListBox1.CheckedItems.Count; i++)
{
this.label1.Text = this.checkedListBox1.CheckedItems[i].ToString();
this.label1.Refresh();
}
}

naeeme
دوشنبه 14 مرداد 1387, 16:44 عصر
اما یه ایرادی داره! اینقدر سریعه که نمی تونی چیزی رو ببینی! و سرعت رو هم پایین میاره

ASKaffash
دوشنبه 14 مرداد 1387, 16:59 عصر
اما یه ایرادی داره! اینقدر سریعه که نمی تونی چیزی رو ببینی! و سرعت رو هم پایین میاره

سلام دوست من
اینکه سریع است برای اینکه فقط چک خرده ها را نگاه می کند. در ضمن سریع بودن یک روش بد است ؟! در خصوص کاهش سرعت بعلت نمایش توسط Label درخواست همین است وگرنه اگر نیازی نیست میتوانید حذف کنید

ba_1980
دوشنبه 14 مرداد 1387, 22:38 عصر
می تونی تابعی بنویسی که بعد از هربارنمایش در label یه تاخیر بذاره

NotAtMyDesk
دوشنبه 14 مرداد 1387, 22:52 عصر
می تونی تابعی بنویسی که بعد از هربارنمایش در label یه تاخیر بذاره


می تونی از این استفاده کنی:


Thread.Sleep(50);

هر چی عددی که می دی بیشتر باشه، بیشتر صبر می کنه
البته باید این رو هم اول برنامه بنویسی:


using System.Threading;

sinpin
سه شنبه 15 مرداد 1387, 07:35 صبح
Application.DoEvents را هم درون حلقه قرار دهيد...

mehrnoosh_al62
سه شنبه 15 مرداد 1387, 08:17 صبح
اما یه ایرادی داره! اینقدر سریعه که نمی تونی چیزی رو ببینی! و سرعت رو هم پایین میاره

سلام دوست عزیز
نه انقدرهم سریع نیست که نتونم چیزی رو ببینم . اعضای ChechListBox من StoreProcedure های یک دیتابیس هستند که باید اونهایی که تیک خوردند رو به یه دیتابیس دیگه انتقال بدم...
به هر حال از کمک همه شما دوستان ممنونم مشکلم حل شد:لبخندساده: