PDA

View Full Version : سوال: نحوه ی ساخت loading بطور ساده ؟



zahra-joon
جمعه 30 مرداد 1394, 11:58 صبح
سلام دوستان
میشه لطفا نحوه ی ساخت loading رو بطور ساده توضیح بدین؟
من میخام مواقعی که فرم با بانک در ارتباطه و یه تاخیر وجود داره کاربر متوجه بشه که باید صبر پیشه کنه!
یه همچین چیزای مثلا
https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTGUZZFAoSLaZdQ_oWOwzwYHbd3DJokj ojTEjgEtOuZMh3oKZKsAw

Amir4317
جمعه 30 مرداد 1394, 13:42 عصر
میتونید قبل از ارسال درخواست به بانک حالت موس رو عوض کنید

UseWaitCursor = true;
// اجرای دستورات

UseWaitCursor = false;


و یا تصویر دلخواهتون رو در pictureBox نمایش بدید و فقط خاصیت visible اون رو تغییر بدید. :لبخندساده:

پیشنهاد دیگه استفاده از نوار پیشرفت هست بحالت مرورشونده
ProgressBar().Style = ProgressBarStyle.Marquee;

البته میتونید بصورت درصدی هم نشون بدید ولی باید مدام بسته به روند پیشرفت کار مقدار دهی بشه. :چشمک:

نمایش یک متن ساده در پایین فرم با مضنون "درحال پردازش؛ لطفاً منتظر بمانید ..." ساده ترین راه هست.:لبخند:

aminmousavi
جمعه 30 مرداد 1394, 15:13 عصر
سلام دوست عزیز . زمانی که نرم افزار درحال عملیات سنگین میشه و کاربر باید صبر کنه تا عملیات تمام شه . خود نرم افزار در حالت not responding قرار میگیره که کلا انگار نرم افزارتون هنگ گرده !
برای اینکه بتونین این مشکل رو حل کنین باید از نخ یا همان thread استفاده کنین . به این شکل که عملیات شما بر روی یک thread دیگه انجام میشه و نمایش loading توی یک thread دیگه

برای اینکار اول یک form دیگه بسازین و شکل loading تون رو توی اون طراحی کنین
از کد زیر توی pageload صفحه استفاده میکنین (یا اگر بعد از زدن دکمه قرار هست loading بیاد روی دکمه کد زیر رو مینویسین) :


this.Enabled = false;
FrmLoading f = new FrmLoading();
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(f.runme));
t.Start();
کد های لود شدن از دیتابیس
t.Abort();
this.Enabled = true;



قدم آخر هم اینکه توی صفحه loading تون متد زیر رو بنویسین :

public void runme()
{
this.ShowDialog();
}


موفق باشین