PDA

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



sadafmahjoobi
چهارشنبه 24 مهر 1392, 22:47 عصر
سلام
من یه فرم ویندوزی طراحی کردم که خیلی سنگینه( یعنی اول مثلا لیبل ها میان بالا بعد از یک ثانیه مثلا تسکت باکس ها)
حالا میخواستم ببینم راهی هست که همشون یه دفه و بدون گیر زدن بیان بالا
مرسی

drsina
چهارشنبه 24 مهر 1392, 23:01 عصر
یعنی چی ؟
توو رویداد load گذاشتی یا shown ?
از resource استفاده کردی ؟!

sadafmahjoobi
چهارشنبه 24 مهر 1392, 23:03 عصر
یعنی چی ؟
توو رویداد load گذاشتی یا shown ?
از resource استفاده کردی ؟!

یعنی بس که تعداد لیبلها ، تکست باکس ها و کدهای Load زیادن ، یه ذره نا منظم بالا میاد و دو ثانیه طول میکشه تا همه صفحه کامل باز شه
حالا من میخوام اینجوری نشه!

drsina
چهارشنبه 24 مهر 1392, 23:14 عصر
یعنی visible همشونو false کردی ، و میخوای تو load همه رو true کنی ؟

خب توو رویداده Shown همشو بزار !!!

sadafmahjoobi
چهارشنبه 24 مهر 1392, 23:34 عصر
یعنی visible همشونو false کردی ، و میخوای تو load همه رو true کنی ؟

خب توو رویداده Shown همشو بزار !!!

اصلا بحثه ویزیبل نیست،نمیدونم دیگه چطور توضیح بدم
به هر حال ممنون از راهنماییتون

hosseinmasterx
پنج شنبه 25 مهر 1392, 09:14 صبح
با سلام
احتمالاً سرعت سيستم شما پايين نيست؟
پرو‍ژه رو تو يه سيستم ديگه اجرا كرديد؟

roolinjax
پنج شنبه 25 مهر 1392, 18:50 عصر
سلام
زیاد ربطی به سرعت سیستم نداره
احتمالا شما از panel ، frame و حتی تصویر زمینه استفاده کردین که باعث بروز این مشکل شده
اگر اون ها رو بردارید می بینید که داره درست نمایش میده، درسته ؟
اگر اینطوره می تونید visible فرم رو در ابتدای کار false کنید و بعد از سه ثانیه که فرم لود شد true کنید . با این کار حداقل کاری که کردید اینه که اون زشتی تیکه تیکه لود شدن فرم رو از دید کاربر مخفی کردید.
راه حل دیگه برداشتن تصویر پشت زمینه ی فرمه که بعید میدونم راضی بشید بهش دست بزنید !!!!!

mam_65
پنج شنبه 25 مهر 1392, 19:05 عصر
سلام
من یه فرم ویندوزی طراحی کردم که خیلی سنگینه( یعنی اول مثلا لیبل ها میان بالا بعد از یک ثانیه مثلا تسکت باکس ها)
حالا میخواستم ببینم راهی هست که همشون یه دفه و بدون گیر زدن بیان بالا
مرسی

سلام
دوست عزیز شما از component خاصی تو برنامه ای که نوشتی استفاده نکردی؟

veniz2008
پنج شنبه 25 مهر 1392, 20:30 عصر
سلام
من یه فرم ویندوزی طراحی کردم که خیلی سنگینه( یعنی اول مثلا لیبل ها میان بالا بعد از یک ثانیه مثلا تسکت باکس ها)
حالا میخواستم ببینم راهی هست که همشون یه دفه و بدون گیر زدن بیان بالا
مرسی
سلام.
تا حد امکان سعی کنید که از گذاشتن کدهای سنگین بصورت عادی درون فرم لود خودداری کنید.
تا حد امکان از عکس های با کیفیت بالا در پس زمینه فرم ها استفاده نکنید.
بعضی کامپوننت ها، کامپوننت های سنگینی هستن و سرعت لود فرم رو پایین میارن.
کدهای سنگین خودتون رو با استفاده از روش های برنامه نویسی همزمان (ترد، Backgrounworker یا Asynchronous Delegate ها) پیاده سازی کنید تا فرم شما دچار سنگین شدن و قفل شدن نشه. شاید ساده ترین روشی که آموزشش هم توی سایت باشه همون Backgrounworker باشه.
فرم شما یک خاصیت داره به نام DoubleBuffered که بصورت پیش فرض False هست. برای کاهش اثرات گرافیکی سنگین که منجر به چشمک زدن (پریدگی فرم) میشه این خاصیت رو بر روی True تنظیم کنید.
موفق باشید.

sajadzare
پنج شنبه 25 مهر 1392, 21:34 عصر
به نظر من هم عکس پس زمینه سرعت رو پایین میاره . بهتره اول عکسو برداری برنامه تو تست کنی بعد بری سراغ مطالب دیگه. اگه مربوط به عکس بود سایز عکس رو دقیقا اندازه فرمت بذار از فوتوشاپ استفاده کن رزولوشن عکس هم بیار پایین تا جزییات زیادی نداشته باشه.

sadafmahjoobi
جمعه 26 مهر 1392, 01:18 صبح
سلام
دوست عزیز شما از component خاصی تو برنامه ای که نوشتی استفاده نکردی؟

از تلریک استفاده کردم

sadafmahjoobi
جمعه 26 مهر 1392, 01:19 صبح
با سلام
احتمالاً سرعت سيستم شما پايين نيست؟
پرو‍ژه رو تو يه سيستم ديگه اجرا كرديد؟

تست شده ولی باز همین مشکل هستش

aliramazani
پنج شنبه 13 شهریور 1393, 22:13 عصر
یک اسپلش بزار چند ثانیه بعد فرم اصلی نشون داده بشه

elec60
پنج شنبه 13 شهریور 1393, 22:31 عصر
بهتره خاصیت visible فورم false باشه و تو Load فورم یه تایمر رو Start کنی و بعد از ۳ ثانیه خاصیت Visible رو true کنی