PDA

View Full Version : سوال: زمان انتظار برای لود شدن یک فرم



bahram1100
سه شنبه 17 آبان 1390, 01:08 صبح
با عرض سلام خدمت دوستان
من یک برنامه نوشتم که شامی 20 فرمه ، برای همین برای باز کردن هر فرم چند ثانیه ای طول می کشد. چکار کنم که وقتی روی یک دکمه برای نمایش فرمی کلیک کردم تا باز شدن فرم عبارتی با عنوان "لطفا کمی صبر کنید" نمایش داده شود یعنی مدت زمانی که طول می کشد تا فرمی لود شود عبارت "لطفا کمی صبر کنید"نمایش داده شود.از دوستان درخواست دارم کد و کارهایی که لازمه بکنم را برام توضیح بدن.
با تشکر فراوان

omidh2007
سه شنبه 17 آبان 1390, 02:25 صبح
77560برنامشو Attach کردم .

فرض کن برنامه ما دو تا فرم داره .)form1 , form2( . و یه فرم واسط داریم به اسم splash که قراره توش متن انتظار نشون داده بشه .
توی فرم اول ، این کد ها رو مینویسیم

if (Application.OpenForms["Form2"] == null)
{
Form2 frm = new Form2();
splash splashform = new splash();
splashform.Show();
frm.Show();
}


خط اول چک میکنه ببینه که فرم دومی که میخوایم بازش کنیم قبلا ایجاد شده یا نه .
ما با این دستور ، فرم2 و فرم splash رو نشون میدیم .

و توی Event Onload فرم دوم مینویسیم :

private void Form2_Load(object sender, EventArgs e)
{
Application.OpenForms["splash"].Close();
}
تا به محض لود شدن فرم دوم ، صفحه splash بسته بشه .
برنامشو Attach کردم . ولی چون برنامه خیلی سبکه ، توی کسری از ثانیه فرم دوم لود و همزمان فورم splash بسته میشه .
اگه روی پروژه با 20 تا فرم جواب داد ، خبرم کن .

bahram1100
چهارشنبه 18 آبان 1390, 20:33 عصر
عزیزم این کار را که گفتی انجام دادام.جواب نداد.
آیا کسی راه دیگه بلده که بشه این عمل را اجرا کرد؟
ممنون

AliRezaPro
چهارشنبه 18 آبان 1390, 21:55 عصر
دوست عزیز ! نباید باز کردن فرم زمان زیادی ببره , این مسئله از چند جانب زیاد جالب نیست . یک اینکه کاربر برای باز کردن هر فرم باید زمان زیادی رو از دست بده و همینطور منتظر باشه . که این بدور از حوصله ی کاربر است . و همینطور از نظر طراحی و مهندسی سرتاسر ایراد هست . پیشنهاد بنده اینه که شما هر کاری کردید که باعث همچین مسئله ایی شده رو درست کنید ! . تا حد امکان فرمهاتونو جوری درست کنید (بک گراند و ..) تا فشار زیادی به رم نیاره . پارامتر های اولیه فرم هاتونمو کاهش بدید ( مثلا در زمان اینیتالیز شدن فرم 300 کار رو با هم انجام ندید !)

و در آخر اینکه روشی که شما انتخاب کردید برای حل( سرپوشی) مشکلتون , اصلا جالب نیست !



خدانگهدار /.