ورود

نسخه کامل مشاهده نسخه کامل : ست کردن progress bar



kiuhnmgtrdcv
16-05-2009, 15:17
سلام دوستان
من از یه backGround worker برای محاسبه یه عملیات در پس زمینه استفاده میکنم که یه سری محاسبات انجام میده
من میخواستم با توجه به زمان محاسباتی که طول میکشه progress bar ست کنم و خواستم زمان اجرای عملیات با timer اندازه بگیرم و یه جوری progress bar باتوجه به درصد پیشرفت ست کنم ولی بعد از کلی تقلا کردن راه به جایی نبردم :31: الان برنامه مفروض نوشتم و progress bar یه صورت دستی ست کردم که بازم از هیچی بهتره ولی اینطوری فاز نمیده :19:
لطفا الگوریتمی ، متدی .. برای ست کردن progress bar به صورت کلی که مثلا با تایمر کار کنه یا هرچی که به ذهنتون میرسه بگید ..خیلی ممنون

punisher00111
16-05-2009, 16:02
یه راه هست : بین کد هات progress1.value +=1 یا هر عدد دیگه ای آخرش هم value رو maximum کن حله!

kiuhnmgtrdcv
16-05-2009, 17:38
من هم دقیقا همین کارو کردم ولی کد اصلی من تو 2 تا خط خلاصه میشه ولی میخوام به صورت دقیقتری نشون بده الان مثلا از 30 یهو میپرم تو 70

punisher00111
16-05-2009, 18:28
عزیز راه اصلیشو نمیدونم ولی یه کلک دیگه هم میشه زد :
اگه انجام دستوزات طول نمیکشه :
using System.Threading
Thread.Sleep(1000)
بعد بین این sleep ها اون کد را بذار
یعنی یه نفر هم نیست کمک کنه؟؟؟؟؟

punisher00111
16-05-2009, 22:36
ببخشید که وارد نیستم، تا اساتید جواب بدن ما نظر میدیم : میتونی از thread استفاده کنی و هر 1 ثانیه برنامه رو متوقف بعد refresh کنی همزمان به ارزش progressbar اضافه کنی

shalineh
17-05-2009, 14:13
من هم دقیقا همین کارو کردم ولی کد اصلی من تو 2 تا خط خلاصه میشه ولی میخوام به صورت دقیقتری نشون بده الان مثلا از 30 یهو میپرم تو 70
اگر این دو خط رو اینجا بنویسی ، بهتر میتونم کمکت کنم.

mahdi7610
17-05-2009, 22:34
سلام

من دقیق سوال شما را متوجه نشدم

شما میخواهید یک progress bar توی فرم قرار بدید که همراه با درصد پیشرفت کنه ؟

درسته ؟

موفق باشید :)

kiuhnmgtrdcv
19-05-2009, 15:39
ببخشید یه مدت بحثو دنبال نکردم اینترنتم قطع بود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمن میخواستم براساس زمان اجرای some code //
progress bar ست کنم توی بعضی جاها برای پر کردن progress bar از حلقه for کمک میگیرند توی بعضی جاها هم به صورت دستی پر میکنند مثلا خودشون مینویسند
(20) backgroundWorker1.ReportProgress که منم همین کارو کردم ولی دنبال روشی میگردم که بر اساس زمان اجرای کد some code // ، پروگس بار ست کنیم ؟ lمثلا

some code1 ،
20 ثانیه طول میکشه تا اجرا بشه و ما هم 20 % به progress bar اضافه کنیم و مثلا بعدش some code 2 //
30 ثانیه طول میکشه تا اجرا بشه بهش 30 % اضافه کنیم ..