PDA

View Full Version : سوال: پیشرفت progressbar با انجام عملیات



طبیب دل
دوشنبه 27 اردیبهشت 1389, 13:10 عصر
سلام
چطوری میشه در مدت زمان انجام کاری progressbar را پر کرد که وقتی اون کار تمام میشه progressbar هم تمام شود؟(منظورم از انجام کار ارسال ایمیل هست)

hojjatshariffam
دوشنبه 27 اردیبهشت 1389, 13:13 عصر
ارسال ایمیل فکر کنم نوعی آپلود می باشد
آپلود رو می تونی توسط آژاکس مرحله به مرحله توسط پروگرس بار نمایش بدی

ولی اگه کار زمانبر و محاسباتی باشه می تونی در هر مرحله مقدار Value رو در پروگرس بار ++ کنی ولی مواضب باش که از ماکسیمم مقدارش بیرون نره چون خطای زمان اجرا میده

طبیب دل
دوشنبه 27 اردیبهشت 1389, 13:21 عصر
ارسال ایمیل فکر کنم نوعی آپلود می باشد
آپلود رو می تونی توسط آژاکس مرحله به مرحله توسط پروگرس بار نمایش بدی

ولی اگه کار زمانبر و محاسباتی باشه می تونی در هر مرحله مقدار Value رو در پروگرس بار ++ کنی ولی مواضب باش که از ماکسیمم مقدارش بیرون نره چون خطای زمان اجرا میده
راستش برنامه تحت وب نیست بلکه اپلیکیشن هست. میخوام از فرم ارسال نظرات، کاربر بتونه ایمیل ارسال کنه و تو اون مدتی که ایمیل ارسال میشه progressbar هم پر بشه نه اینکه خودم به اون اضافه کنم چطوری میشه مدت ارسال ایمیل رو به مدت پر شدن progressbar نسبت داد؟

ricky22
دوشنبه 27 اردیبهشت 1389, 13:38 عصر
سلام دوست عزیز از multi thread یا background worker استفاده کن اینا رو جستجو کن اگه به نتیجه نیسیدی بگو

exlord
دوشنبه 27 اردیبهشت 1389, 13:55 عصر
از اونجایی که معلوم نیست ارسال ایمیل چه قدر طول میکشه همچین کاری رو نمیتونی بکنی ... تنها راهش اینکه از عکس های loading که برای ajax استفاده میشه بزاری تو صفحه تا همینطوری برا خودش بچرخه ...

طبیب دل
دوشنبه 27 اردیبهشت 1389, 16:30 عصر
ميشه بگيد progressbar براي چه مواقعي خوب؟

hojjatshariffam
دوشنبه 27 اردیبهشت 1389, 16:42 عصر
برای مواقعی که معلومه کاری که قراره انجام بشه ، چند مرحله است اونموقت می تونی از Progress Bar استفاده کنی.
برای کارهائی که معلوم نیست چقدر طول می کشه و معلوم نیست چند مرحله است ، می تونی از Wait Icon ها استفاده کنی
ولی فکر کنم که در مورد ارسال ایمیل ، بتونی از آژاکس هم استفاده کنی اما نمی دونم چطوری ، چون تا حالا استفاده نکردم

behrad110
سه شنبه 28 اردیبهشت 1389, 12:25 عصر
progressbar برای وقتیه که میزان یا حجم کل کار مشخصه و این امکان برای شما وجود داره که تشخیص بدی چه میزان از کار انجام شده. مثل کپی کردن یک فایل از یک مکان به یک مکان دیگه در صورتی که حجم فایل مشخص باشه
اما اگه در این مورد که گفتی اصرار داری از progress bar استفاده کنی میتونی ویژگی style رو برابر Marquee قرار بدی تا همینجوری واسه خودش بچرخه و کاربر منتظر بمونه:چشمک:. در مواقعی که زمان انجام کار مشخص نیست یا نمیدونی کار چند قسمته از این خاصیت استفاده کن

طبیب دل
سه شنبه 28 اردیبهشت 1389, 12:42 عصر
progressbar برای وقتیه که میزان یا حجم کل کار مشخصه و این امکان برای شما وجود داره که تشخیص بدی چه میزان از کار انجام شده. مثل کپی کردن یک فایل از یک مکان به یک مکان دیگه در صورتی که حجم فایل مشخص باشه
اما اگه در این مورد که گفتی اصرار داری از progress bar استفاده کنی میتونی ویژگی style رو برابر Marquee قرار بدی تا همینجوری واسه خودش بچرخه و کاربر منتظر بمونه:چشمک:. در مواقعی که زمان انجام کار مشخص نیست یا نمیدونی کار چند قسمته از این خاصیت استفاده کن
چی کار کنم وقتی رو دکمه میزنم progressbar شروع به حرکت کنه؟

behrad110
سه شنبه 28 اردیبهشت 1389, 13:18 عصر
فکر کنم گفتم دیگه باید style رو به Marquee عوض کنی . یعنی تو این مورد شما در لود برنامه style رو block قرار میدی بعدش تو رویداد کلیکش همچین کدی مینویسی

this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
دو باره هر وقت بخوای بایسته


this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.blocks;

غلامرضا شریفی
چهارشنبه 29 اردیبهشت 1389, 10:42 صبح
style پروگرس را به صورت زير كن حالا فرقي نمي كند چقدر طول ميكشد كه لود طول بكشد


ProgressBar1.Style = ProgressBarStyle.Marquee