
نوشته شده توسط
ostovarit
من میخواهم در زمان لود اطلاعات در گرید به وسیله یک ProgressBar عملیات بار گزاری اطلاعات را نمایش دهم تا کاربر منتظر بایند گرید شود و از هنگ کردن نرم افزار جلوگیری شود ... یا اینکه متن "اطلاعات در حال بار گذاری است" در زمان بایند نمایش داده شود.
لطفا راهنمایی بفرمایید ؟
سورس کد ، سمپل ، پیشنهاد ، لینک و ...
با backgroundworker راحت میتونی انجام بدی،خودم واسه عملیات ریستور نوشتم و خیلی خوب کارمیکنه..
1 - ابتدا یه فرم جدید ایجاد میکنی و یه progressbar و .. میزاری توش، همه کارایی که باید انجام بشه رو تو رویداد لود فرم بنویس . درضمن باید topmost هم باشه
2 - یه backgroundworker میکشی تو فرمی که گرید داری و تو پروپرتی اون خاصیت cancel رو true میکنی ، در رویداد do-work اون، فرمی که بالا ایجاد کردی رو show میکنی(showdialog نه)، حالا در برنامه قبل اینکه گرید لود بشه مینویسی :
backgroundWorker1.RunWorkerAsync();
this.Cursor = Cursors.WaitCursor;
در انتها که گرید پر شد مینویسی :
backgroundWorker1.CancelAsync();
this.Cursor = Cursors.Default;
تمام..