PDA

View Full Version : تاخیر در نمایش فرمها(در پنهان شدن فرم پدر و ظاهر شدن فرم فرزند)



bahar_engineer
دوشنبه 02 شهریور 1388, 15:57 عصر
سلام

دوستان محترم من برای نمایش فرم هام فرم پدر رو پنهان می کنم و فرم فرزند رو نمایش می دم

در این کار با استفاده از الگوی ژنریک سینگلتون از هر فرم تنها یک نمونه ایجاد می کنم .
با استفاده از Application.OpenForm هم فرمهای پنهان (پدر) رو باز می کنم و فرم فرزند رو می بندم.

حالا یه مسئله ای وجود داره و اینه که حجم برنامه من بالاست حدود 800 مگابایت
و فکر می کنم به خاطر همین وقتی فرم پدر hidden می شه و قراره که فرم فرزند به جاش باز بشه بین این روند یه تاخیر وجود داره که باعث می شه فرم پدر که بسته شد ، حدود چند دهم ثانیه صفحه ویندوز یا ویژوال استدیو نمایش داده می شه و بعد فرم فرزند باز می شه

حتی صفحه اصلی برنامه که همیشه باز هست و مادر همه فرمهاست، اون هم نمایش داده نمی شه در بین این تاخیر و صفحه دسکتاپ یا ویژوال استدیو یا هر چه که زیر برنامه هست نمایش داده می شه

برای اینکه این تاخیر بوجود نیاد یا اینکه حداقل در بین این باز و بسته شدن فرم ها ، فرم اصلی برنامه نمایش داده بشه نه فرم برنامه ای که قبل از برنامه من باز شده بوده، چکار باید کرد؟

bahar_engineer
دوشنبه 09 شهریور 1388, 10:39 صبح
کسی نمی دونه مشکل از کجاست؟

dr_csharp
دوشنبه 09 شهریور 1388, 10:45 صبح
سلام
شما بهتره يك صفحه شروع و اصلي سبك بعنوان Parent‌ داشته باشين و child‌ها رو از اينجا ايجاد كنيد و در پايان بجاي مخفي كردن child‌اونو كاملا Close‌و Dispose‌كنيد !

naeeme
دوشنبه 09 شهریور 1388, 11:11 صبح
شما وقتی یک فرم رو hidden می کنید، در واقع اون فرم رو در حافظه دارین و فقط کاربر دیگه نمی بیندش و چون حجم برنامه شما بالاست، اشغال حافظه اون هم بالاست و در نتیجه رم سیستم کافی نیست و این تاخیر رو می بینسد. ائل سعی کنین حجم فرم ها رو پایین بیارین و بعد هم برنامه رو طوری طراحی کنین که فرم ها به جای hidden شدن، حتما close بشن.

bahar_engineer
پنج شنبه 12 شهریور 1388, 12:02 عصر
سلام
شما بهتره يك صفحه شروع و اصلي سبك بعنوان Parent‌ داشته باشين و child‌ها رو از اينجا ايجاد كنيد و در پايان بجاي مخفي كردن child‌اونو كاملا Close‌و Dispose‌كنيد !


ممکنه بفرمایین چطور فرمی رو به عنوان PARENT و فرم های دیگه رو از اون به عنوان CHILD ایجاد کنم؟

آیا خاصیتی داره که باید تغییر بدم؟