PDA

View Full Version : زمان زیاد باز شدن فرم



mr_moghimkhani
شنبه 22 دی 1386, 16:34 عصر
نمیدونم شما با این مشکل برخورد داشتین یا نه؟
ولی من وقتی به فرم هام عکس اضافه میکنم(عکس برای BackGround فرم یا عکس برای پس زمینه برخی کنترل ها) موقع اجرای فرم ، زمان زیادی طول میکشه تا فرم نمایان بشه.
خیلی جستجو کردم و روشهای زیادی رو تست کردم ولی با هیچکدوم تغییری احساس نکردم. اصلاً نمیدونم دلیل اصلی این کندی چیه؟ اگه کمکم کنین ممنون میشم.

mamali_programer
شنبه 22 دی 1386, 16:41 عصر
سلام دوست عزیز
اول حجم عکسو کم کن بعد توی فرم قرارش بده
من توی برنامه نویسی امتهان نکردم ولی در بعضی جاها حتی اگر عکس در فرم کوچیک باشه ولی عکس واقعی بزرگ باشه , برای لود کردن عکس زمانه زیادیو صرف میکنه

hassan razavi
شنبه 22 دی 1386, 16:49 عصر
استفاده از عکس در خود فرم بنامه حجم زیادی میگیره . من یکی از راههای زیر رو پیشنهاد میکنم :
1- ذخیره در فایل Resource
2- ذخیره در بانک
3- استفاده از مسیر فایل توسط ذخیره کردن مسیر در Setting یا Resource برنامه

سپس در رویداد Load برنامه عکس را بازیابی کنید و نمایش بدهید.

اَرژنگ
شنبه 22 دی 1386, 16:55 عصر
اول فرم را لود کنید و نمایش بدید و بعدش عکس را در فرم نمایش بدید.
البته بستگی دارد چه عکسی را برایه چه کاری دارید لود میکنید، شاید یک عکس کوچیک را لوود کنید و در فرم tile کنید تندتر بشد.
به روشهایی که از دبل بافرینگ استفاده میکنند هم نگاه بندازید.
ولی مهمتر از همه همانی است که جناب رضوی گفتند، عکس را خود فرم برنامه نگذارید ولی به شکل داینامیک لودش کنید.

mr_moghimkhani
شنبه 22 دی 1386, 17:03 عصر
اول حجم عکسو کم کن بعد توی فرم قرارش بده
من توی برنامه نویسی امتهان نکردم ولی در بعضی جاها حتی اگر عکس در فرم کوچیک باشه ولی عکس واقعی بزرگ باشه , برای لود کردن عکس زمانه زیادیو صرف میکنه

از نظر اندازه که همه عکس ها متناسب با اندازه کنترل ها انتخاب شده اند و درمورد حجم هم باید بگم که تا حد امکان حجم ها کم شده اند.


استفاده از عکس در خود فرم بنامه حجم زیادی میگیره


یعنی منظور شما اینه که اگر عکس رو بطور مستقیم در Property فرم قرار بدهیم حجمش افزایش پیدا میکند؟(حجم فرم یا عکس؟)


اول فرم را لود کنید و نمایش بدید و بعدش عکس را در فرم نمایش بدید

event ای که بعد از Form_Load فراخوانی میشه چیه؟ در ضمن اگر این کار را هم انجام دهیم، در نحوه نمایش تاثیری نمی بگذارد؟ یعنی یکبار نمایش فرم خالی و بار دیگر نمایش فرم همرا با عکس؟

ممنون.

اَرژنگ
یک شنبه 23 دی 1386, 00:52 صبح
event ای که بعد از Form_Load فراخوانی میشه چیه؟ در ضمن اگر این کار را هم انجام دهیم، در نحوه نمایش تاثیری نمی بگذارد؟ یعنی یکبار نمایش فرم خالی و بار دیگر نمایش فرم همرا با عکس؟

ممنون.
به event دیگری احتیاج نیست، از یک backgroundworker و یا timer استفاده کنید، مشکل اصلی شما لود کردن تندتر فرم بود، حالا کاربر زودتر یک چیزی میبینه و میدونه که اتفاقاتی داره رخ میده.

mr_moghimkhani
یک شنبه 23 دی 1386, 18:37 عصر
ضمیمه یک نمونه از فرم هایی است که من توش مشکل دارم.
به نظر شما دیر باز شدن چنین فرمی منطقیه؟

hassan razavi
یک شنبه 23 دی 1386, 22:52 عصر
دوست عزیز مطمئن هستید که مشکل از لود کرد عکس هست ؟ شاید تاخیر بخاطر کد دیگری باشه. برنامه رو Trace کردید تا مطمئن بشید؟

mr_moghimkhani
دوشنبه 24 دی 1386, 09:11 صبح
دوست عزیز مطمئن هستید که مشکل از لود کرد عکس هست ؟ شاید تاخیر بخاطر کد دیگری باشه. برنامه رو Trace کردید تا مطمئن بشید؟

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

sinpin
دوشنبه 24 دی 1386, 09:51 صبح
کد ها رو هم از پس زمینه برداشتم، ولی بازم مشکل حل نشد. اعصابمو بهم ریخته.
شما یه برنامه کوچیک با همون یه دونه فرم آپلود کنید دوستان تست میکنند.

سار
دوشنبه 24 دی 1386, 14:23 عصر
این تصویری که فرستادی، در صورتی که عکسها تو فتوشاپ Save as for web شده باشن نباید لود فرمت رو کند کنه.
تو OnLoad فرمت چیزی داری یا تو رویدادهای قبلش.
کدهات رو بنویس.