سلام.
این طور که شما میگید پیشرفت prgressbar شما باید با توجه به زمانی انجام بشه که مشخص نیست چه میزان طول میکشه.
همونطور که خودتون میدونید progressbar خاصیت max رو داره و باید خاصیت رو مشخص کرد و مقدار به اون داد تا به max برسه اما به دلیل اینکه در سوالی که شما دارید نمیشه خاصیت max رو دقیقا بیان کرد و نمیتون متوجه شد که هر کار چه اندازه طول میکشد افزایش تدریجی به صورت ساده غیر ممکن به نظر میرسد.
شما میتوانید بیشترین مقدار progressbsr را 100 در نظر بگیرید برای هر کار درصدی را مشخص کنید و با انجام هر کار مقداری به progress بار بدید مثلا درصد عملیات سلکت باشد 50% (به خاطر اینکه در سلکت مقادیر لود میشود باید درصد بیشتری به آن نسبت داد).
progressBar1.Value = 50;
درصد عملیات به روز کردن باشد 30% و بعد از بروزرسانی اطلاعات درصد را اضافه کنید.
progressBar1.Value += 30;
و درصد عملیات حذف باشد 20%
progressBar1.Value += 20;
اما معمولا پیشرفت کاری که زمان آن مشخص نیست را به وسیله progressbar نشان نمیدهند بلکه به گونه ای به کاربر میگوند که برنامه برای انجام دادن کار مورد تقاضای شما به زمان نیاز دارد و به نظرم این روش بهره.
مثلا هنگام لود کردن پروژه در ویژوال که زمان و حداکثر انجام کار مشخص نیست: