نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
آره داخل حلقه فراخوانی میکنم.
تعداد حلقه ورکر یک از 1 تا 254 میتونه باشه.
حلقه ورکر دو میتونه از 1 تا مثلا 6000 تا هم باشه.
وقتی میارم داخل حلقه یک متسفانه بعد از انجام همه به یکباره خروجی میده.نه اینکه مرحله به مرحله.
مقدار ماکزیمم progressBar ها را بذارید 100 باشه.
یک متغیر به عنوان «درصد پیشرفت قبلی» نیاز دارید تا درصد پیشرفت جدید را با اون مقایسه کنید.
قبل از فراخوانی متد ReportProgress درصد پیشرفت را محاسبه کنید. مثلا اگر تعداد نهایتا 6000 باشه کافیه شمارنده حلقه را تقسیم بر 6000 بعد حاصل رو ضرب در 100 کنید . نتیجه را با «درصد پیشرفت قبلی» مقایسه کنید، اگر متفاوت بود به عنوان پارامتر به ReportProgress ارسال کنید.
با این کار فقط زمانی UI درگیر میشه که درصد پیشرفت تغییر کند.