PDA

View Full Version : استفاده از progressbar برای لود شدن اطلاعات از دیتابیس



zohre66
پنج شنبه 07 آذر 1392, 22:05 عصر
سلام خدمت همه دوستان
سوالی که می پرسم خیلی تکراری هست اما واقعا بعد از این همه جستجو کردن به نتیجه مطلوبی نرسیدم.
من می خوام یه پروگسس باری داشته باشم که در جاهای مختلف بر اساس نیاز آن فرم ازش استفاده کنم
1. هنگام لود شدن اطلاعات در گرید ویو
2. ارسال پیامک
3. ارسال ایمیل و..
طبق جستجوی که انجام دادم برای پروگسس که به صورت منظم پر بشه می تونم از روش های مثل تایمر و یا backgroundWorker استفاده کنم .
اما نمی دونم کدوم بهتر است و همینطور نمی دونم چطور مابین کد هایم قرار بدم تا پروگسسم به صورت منظم پر بشه؟
لطفا راهنماییم کنید.
با تشکر از همه دوستان برنامه نویس

dashkeyvan
جمعه 08 آذر 1392, 02:07 صبح
اگه میخوای مقدارش وابسته به کاری باشه که انجام میدی backgroundWorker یه رویداد داره به اسم progressChanged که میتونی از اون استفاده کنی

در غیر این صورت مثلا میخوای تایمش دست خودت باشه و مثلا با زدن فلان دکمه قبله وارد شدن به برنامه نمایشش بده ..برای این کار ابتدا در کلیک اون دکمه تایمر رو فعال میکنی بعد این کد


private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Value += 5;
if (progressBar1.Value == 100)
{
timer1.Enabled = false;
this.Close();
}
}

zohre66
جمعه 08 آذر 1392, 07:20 صبح
خیلی ممنون از پاسخت
اما من متوجه نشدم
کدوم روش بهتر هست؟ backgroundWorker یا تایمر؟
من نمی خوام دستی به progress مقدار بدم چون منظم نمیشه .میخواهم برا اساس مدت زمانی که کارم طول میکشه انجام بشه . ولی نمی دونم چه طور مدت زمان کارم رو بدست بیاورم.
مثل پر شدن اطلاعات زیاد در گرید ویو .چرا که یه خط کدش خیلی زمان میگره و یا ارسال پیامک و...

dashkeyvan
جمعه 08 آذر 1392, 12:13 عصر
از این رویداد کمک بگیر progressChanged ولی این واسه برنامه های استفاده میشه که لود کردن فایل هاش خیلی طول میکشه از نظر من واسه کار های کوچیک حتی متوسط بهتره که خودت مقدار بدی چون فقط جنبه ی زیبای داره در مورد backgroundWorker ان هم اگه میخوای باش کار کنی این ویدیو بدرت میخوره




http://dl.learnfiles.com/video/programming/learning_BackgroundWorker_IN_Csharp(www.learnfiles .com).zip (http://dl.learnfiles.com/video/programming/learning_BackgroundWorker_IN_Csharp%28www.learnfil es.com%29.zip)

pass:www.learnfiles.com (http://www.learnfiles.com)