استفاده از ProgressBar در چند مرحله بدون هنگ کردن
سلام دوستان
من توی برنامم یه قسمت دارم که اجراش سه مرحله ای هست و بخاطر رکورد زیاد هر سه مرحله کمی طول میکشه
بمحض اجرا هم فرم تو حالت not responding میره تا زمانی که پروسه تموم میشه
میشه طوری progressbar گذاشت که هم از حالت هنگ موقت جلوگیری کنه و هم هر مرحله که تموم میشه نشون بده که به مرحله بعد میره؟
ممنون از راهنماییاتون
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
دوست عزیز فکر می کنم باید از thread ها استفاده کنید.
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
میشه بیشتر راهنمایی کنید؟
تا به حال استفاده نکردم ازشون
ممنون
1 ضمیمه
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
نقل قول:
نوشته شده توسط
pishraft
سلام دوستان
من توی برنامم یه قسمت دارم که اجراش سه مرحله ای هست و بخاطر رکورد زیاد هر سه مرحله کمی طول میکشه
بمحض اجرا هم فرم تو حالت not responding میره تا زمانی که پروسه تموم میشه
میشه طوری progressbar گذاشت که هم از حالت هنگ موقت جلوگیری کنه و هم هر مرحله که تموم میشه نشون بده که به مرحله بعد میره؟
ممنون از راهنماییاتون
این مثال رو ببین. شاید به دردت بخوره
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
نقل قول:
نوشته شده توسط
pishraft
سلام دوستان
من توی برنامم یه قسمت دارم که اجراش سه مرحله ای هست و بخاطر رکورد زیاد هر سه مرحله کمی طول میکشه
بمحض اجرا هم فرم تو حالت not responding میره تا زمانی که پروسه تموم میشه
میشه طوری progressbar گذاشت که هم از حالت هنگ موقت جلوگیری کنه و هم هر مرحله که تموم میشه نشون بده که به مرحله بعد میره؟
ممنون از راهنماییاتون
حلقه for داری ؟؟؟؟
اگه حلقه داری انتهای حلقه قبل از { که حلقه بسته بشه دستور زیر رو بنویس
application.doevent();
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
برای این پردازش حدود 4 هزار رکورد دارم که همه اونها باید یکی یکی فراخوانده شن
توی سه مرحله که مرحله اول خودش شامل چندین تابع و مرحله پردازش میزش
دو و سه هم ارسال به دیتابیس و گزارش گیری هستن
مرحله زمان زیادی میبره
حدودا 1و نیم دقیقه طول میکشه
تو این مدت هم فرم به حالت notResponding میره
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
سلام
از کامپوننت BackGroundWorker که توی تولباکس هست استفاده کنید. کارهای محاسباتی رو توی رویداد DoWork بنویسید یه تصویر لودینگ یا یا پیغام هم یه گوشه ای بزارید مثلاً "لطفاً منتظر باشید..." کارهای نمایش نتایج و مخفی کردن پیغام رو هم در رویداد RunWorkComplete بنویسید.
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
با این تعداد رکورد بالا بهتره جهت کاهش زمان اجرا از موازی سازیParallel استفاده کن
نقل قول: استفاده از ProgressBar در چند مرحله بدون هنگ کردن
ببخشید بنده هم تقریبا همین مشکل رو در WPF با دارم فقط تا Invoke پیش رفتم و متاسفانه گیر کردم.https://barnamenevis.org/attachment.p...7&d=1449780620