استفاده از این لایبراری که ضمیمه شده برنامه ی شما را حرفه ای جلوه میدهد.(کدها توسط اینجانب نوشته شده است و با سورس باز که در پروژ دمو قرار دارد)
(خوشتان آمد لایک یادتون نره
)
برای استفاده از این لایبراری آنرا از طریق زیر به پروژه تان اضافه کنید
Solution Explorer>References>Add Reference>Browse>WaitingForHeavyForm.dll
هدف ساخت:
ساختن یک فرمی که به کاربر نشان دهد که برای دیدن آن فرم سنگین منتظر بماند.
این لودینگ واقعی است! یعنی یک زمان ثابت برای لودش نمیدهم بلکه براساس مدت زمان واقعی مورد نیاز برای لودش منتظر می ماند!
ضرورت ساخت:
اگر فرم شما خیلی سنگین باشد مثلاً برای لود کردن تصویر ذخیره شده از درون دیتابیس برنامه قدری مکث میکند و کاربر احساس میکند که برنامه هنگ کرده
و یا اگر از کریستال ریپورت استفاده میکنید کاربر احساس میکنه که برنامه هنگ کرده(که من از این قسمتش استفاده کردم)
و یا اگر از اینترنت استفاده میکنید ممکن است کاربر احساس کند که برنامه هنگ کرده
کامپوننت مورد استفاده:
برای ساخت این لایبراری از BackGroundWorker (کامپوننت مولتی تردینگ)استفاده شده است.
نیازمندی ها:
دات نت فریمورک 3.5
نحوه استفاده از کدها:(یک پروژه دمو ضمیمه شده است)
فرض کنید یک MainForm و چندین ChildForm داریم:
این کد را برای نمایش ChildForm در MainForm (به جای استفاده از Show()) به کار میبریم:
// In Your MainForm
Waiting.CreateForm(typeof(ChildForm1));
و این کد را در ChildForm بعد از پروسه زمان برتان و قبل از لود به کار می بریم:
WaitingForHeavyForm.Waiting.ReportCompleted();
یعنی به این صورت
public partial class ChildForm1 : Form
{
public ChildForm1()
{
InitializeComponent();
//فرضاً پروسه زمان برتان اینجا قرار دارد که قبل از لود باشد
WaitingForHeavyForm.Waiting.ReportCompleted();
}
فراموش نشود: در صورتی که از این(و یا هر تغییری از این) کدها در پروژه تان استفاده کردید در قسمت تشکرات برنامه تان تشکر از "فرهاد مهرورزی" فراموش نشود.
فایلهای ضمیمه شده:
لایبراری: WaitingForHeavyForm.zip
پروژ دمو: UC_LoadingForm.zip