PDA

View Full Version : سوال: حلقه‌ی تکرار و نمایش متن



aapalireza
شنبه 22 آبان 1389, 16:51 عصر
سلام,
من یک برنامه نوشتم که هی یک عملی را انجام میده و می‌خوام تو استتوس بار بنویسه هر مرحله داره چه میکنه!
ولی نمی نویسه و فقط مرحله آخر را مینویسه!

یه مثال ساده تر برای اینکه متوجه بشید:



for (int i = 0; i < 9000; i++)
{
textBox1.Text = i.ToString();

}


فقط عدد 8999 در textbox دیده میشه!
چه کنم؟

Reza_Yarahmadi
شنبه 22 آبان 1389, 17:04 عصر
بخاطر اينكه اولا سرعت پردازش خيلي بالاست بعدشم چون برنامه درگير محاسبات حلقه ميشه تا وقتي كار حلقه تمام نشه به سراغ نمايش نميره.
به صورت زير امتحان كنيد

for (int i = 0; i < 9000; i++)
{
textBox1.Text = i.ToString();
Application.DoEvents();
}

aapalireza
شنبه 22 آبان 1389, 17:07 عصر
بخاطر اينكه اولا سرعت پردازش خيلي بالاست بعدشم چون برنامه درگير محاسبات حلقه ميشه تا وقتي كار حلقه تمام نشه به سراغ نمايش نميره.
به صورت زير امتحان كنيد

for (int i = 0; i < 9000; i++)
{
textBox1.Text = i.ToString();
Application.DoEvents();
}

خیلی خیلی ممنون و متشکر,
خیلی حال کردم سریع پاسخ دادید,
زدید تو هدف....

اگر میشه توضیح بدید که

Application.DoEvents();

یعنی چه؟
از کجا فهمیدید باید این را بنویسید؟

Reza_Yarahmadi
شنبه 22 آبان 1389, 17:18 عصر
اين يك خط ميگه روند اجرايي كد رو نگه داره و رويدادهاي موجود رو انجام بده بعد به سراغ ادامه اجرا بياد. (از جمله اين رويدادها رويداد Print است كه مربوط به نمايش فرم است.)
اينطوري بعد از تغيير محتويات تكست باكس فرم Refresh شده و ميشه تغييرات رو ديد